summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2014-07-16 13:11:34 +0300
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2014-07-16 13:11:34 +0300
commit3d7357fa29e92781778311d5cd9531bf63f586eb (patch)
tree9233d71e1e79d973e2a941f50d4cf4cbebc1c04d /src/main/java
parentfa76c133193de6a07844e83395581b3b26d3ea77 (diff)
Lots of fixes and improvements
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/darkknight/jewelrycraft/CreativeTabNecklaces.java15
-rw-r--r--src/main/java/darkknight/jewelrycraft/CreativeTabRings.java39
-rw-r--r--src/main/java/darkknight/jewelrycraft/block/BlockMoltenMetal.java8
-rw-r--r--src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java2
-rw-r--r--src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java41
-rw-r--r--src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java3
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java8
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java8
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java6
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemRing.java16
-rw-r--r--src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java13
-rw-r--r--src/main/java/darkknight/jewelrycraft/worldGen/Generation.java2
-rw-r--r--src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java31
-rw-r--r--src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java3
14 files changed, 124 insertions, 71 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/CreativeTabNecklaces.java b/src/main/java/darkknight/jewelrycraft/CreativeTabNecklaces.java
index 3f1fe92..524d31e 100644
--- a/src/main/java/darkknight/jewelrycraft/CreativeTabNecklaces.java
+++ b/src/main/java/darkknight/jewelrycraft/CreativeTabNecklaces.java
@@ -1,5 +1,6 @@
package darkknight.jewelrycraft;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import darkknight.jewelrycraft.item.ItemList;
@@ -34,22 +35,20 @@ public class CreativeTabNecklaces extends CreativeTabs
int index = 0, index2 = 0;
while(index < OreDictionary.getOreNames().length)
{
- while(index2 < OreDictionary.getOres(OreDictionary.getOreNames()[index]).size())
+ Iterator<ItemStack> i = OreDictionary.getOres(OreDictionary.getOreNames()[index]).iterator();
+
+ while (i.hasNext())
{
- if(OreDictionary.getOres(OreDictionary.getOreNames()[index]).get(index2).getUnlocalizedName().toLowerCase().contains("ingot") && !metal.contains(OreDictionary.getOres(OreDictionary.getOreNames()[index]).get(index2)))
- metal.add(OreDictionary.getOres(OreDictionary.getOreNames()[index]).get(index2));
- index2++;
+ ItemStack nextStack = i.next();
+
+ if ((nextStack.getItem().getUnlocalizedName().toLowerCase().contains("ingot") || nextStack.getItem().getUnlocalizedName().toLowerCase().contains("alloy")) && !metal.contains(nextStack)) metal.add(nextStack);
}
- index2 = 0;
index++;
}
for(int i = 0; i < metal.size(); i++)
for(int j = 0; j < JewelrycraftUtil.modifiers.size(); j++)
for(int k = 0; k < JewelrycraftUtil.jewel.size(); k++)
- {
- par1List.add(ItemList.necklace.getModifiedItemStack(metal.get(i), null, JewelrycraftUtil.jewel.get(k)));
par1List.add(ItemList.necklace.getModifiedItemStack(metal.get(i), JewelrycraftUtil.modifiers.get(j), JewelrycraftUtil.jewel.get(k)));
- }
}
}
diff --git a/src/main/java/darkknight/jewelrycraft/CreativeTabRings.java b/src/main/java/darkknight/jewelrycraft/CreativeTabRings.java
index 4061dcf..5cbe496 100644
--- a/src/main/java/darkknight/jewelrycraft/CreativeTabRings.java
+++ b/src/main/java/darkknight/jewelrycraft/CreativeTabRings.java
@@ -1,5 +1,7 @@
package darkknight.jewelrycraft;
+
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import net.minecraft.creativetab.CreativeTabs;
@@ -13,42 +15,41 @@ import darkknight.jewelrycraft.util.JewelrycraftUtil;
public class CreativeTabRings extends CreativeTabs
{
public static ArrayList<ItemStack> metal = new ArrayList<ItemStack>();
-
- public CreativeTabRings(String par2Str)
+
+ public CreativeTabRings(String par2Str)
{
super(par2Str);
metal.add(new ItemStack(Items.gold_ingot));
metal.add(new ItemStack(Items.iron_ingot));
}
-
+
@Override
public Item getTabIconItem()
{
return ItemList.ring;
}
-
- @SuppressWarnings({ "rawtypes", "unchecked" })
+
+ @SuppressWarnings(
+ { "rawtypes", "unchecked" })
public void displayAllReleventItems(List par1List)
{
int index = 0, index2 = 0;
- while(index < OreDictionary.getOreNames().length)
+ while (index < OreDictionary.getOreNames().length)
{
- while(index2 < OreDictionary.getOres(OreDictionary.getOreNames()[index]).size())
+ Iterator<ItemStack> i = OreDictionary.getOres(OreDictionary.getOreNames()[index]).iterator();
+
+ while (i.hasNext())
{
- if(OreDictionary.getOres(OreDictionary.getOreNames()[index]).get(index2).getUnlocalizedName().toLowerCase().contains("ingot") && !metal.contains(OreDictionary.getOres(OreDictionary.getOreNames()[index]).get(index2)))
- metal.add(OreDictionary.getOres(OreDictionary.getOreNames()[index]).get(index2));
- index2++;
+ ItemStack nextStack = i.next();
+
+ if ((nextStack.getItem().getUnlocalizedName().toLowerCase().contains("ingot") || nextStack.getItem().getUnlocalizedName().toLowerCase().contains("alloy")) && !metal.contains(nextStack)) metal.add(nextStack);
}
- index2 = 0;
index++;
- }
- for(int i = 0; i < metal.size(); i++)
- for(int j = 0; j < JewelrycraftUtil.modifiers.size(); j++)
- for(int k = 0; k < JewelrycraftUtil.jewel.size(); k++)
- {
- par1List.add(ItemList.ring.getModifiedItemStack(metal.get(i), null, JewelrycraftUtil.jewel.get(k)));
+ }
+ for (int i = 0; i < metal.size(); i++)
+ for (int j = 0; j < JewelrycraftUtil.modifiers.size(); j++)
+ for (int k = 0; k < JewelrycraftUtil.jewel.size(); k++)
par1List.add(ItemList.ring.getModifiedItemStack(metal.get(i), JewelrycraftUtil.modifiers.get(j), JewelrycraftUtil.jewel.get(k)));
- }
}
-
+
}
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockMoltenMetal.java b/src/main/java/darkknight/jewelrycraft/block/BlockMoltenMetal.java
index b6d10c1..f15b794 100644
--- a/src/main/java/darkknight/jewelrycraft/block/BlockMoltenMetal.java
+++ b/src/main/java/darkknight/jewelrycraft/block/BlockMoltenMetal.java
@@ -244,7 +244,7 @@ public class BlockMoltenMetal extends BlockFluidClassic {
red = (icon.getRGB(x, y) >> 16) & 0xFF;
green = (icon.getRGB(x, y) >> 8) & 0xFF;
blue = icon.getRGB(x, y) & 0xFF;
- if((red <= 80 && green <= 80 && blue <= 80) || (red >= 180 && green >= 180 && blue >= 180))
+ if(!isColorPretty(red, green, blue))
{
if(x<icon.getTileWidth()-1) x++;
if(x>=icon.getTileWidth()-1 && y<icon.getTileWidth()-1)
@@ -262,6 +262,12 @@ public class BlockMoltenMetal extends BlockFluidClassic {
return 16777215;
}
+ public static boolean isColorPretty(int r, int g, int b)
+ {
+ if(r > 80 || g > 80 || b > 80 || (r > 80 && g > 80 && b > 80 && r < 180 && b < 180 && g < 180)) return true;
+ return false;
+ }
+
public static String coords(int x, int y, int z)
{
return String.valueOf(x) + " " + String.valueOf(y) + " " + String.valueOf(z);
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java b/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java
index 1f04bce..c88798b 100644
--- a/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java
+++ b/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java
@@ -71,7 +71,7 @@ public class BlockSmelter extends BlockContainer
{
int index = -1;
for(int a = 0; a < JewelrycraftUtil.jamcraftPlayers.size(); a++) if(entityPlayer.getDisplayName().equals(JewelrycraftUtil.jamcraftPlayers.get(a))) index = a;
- if (!te.hasMetal && !te.hasMoltenMetal && !te.pouring && item != null && (item.getUnlocalizedName().toLowerCase().contains("ingot") || index != -1) && !item.getUnlocalizedName().toLowerCase().contains("mold"))
+ if (!te.hasMetal && !te.hasMoltenMetal && !te.pouring && item != null && (item.getUnlocalizedName().toLowerCase().contains("ingot") || item.getUnlocalizedName().toLowerCase().contains("alloy") || index != -1) && !item.getUnlocalizedName().toLowerCase().contains("mold"))
{
entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage.Jewelrycraft.smelter.nowsmeltingingot", item.getDisplayName())));
te.metal = item.copy();
diff --git a/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java b/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java
index e9040c9..4bfd893 100644
--- a/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java
+++ b/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java
@@ -5,12 +5,23 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
public class ConfigHandler
{
- private static Configuration config;
- public static int ingotCoolingTime = 200;
- public static int ingotMeltingTime = 1500;
- public static int jewelryCraftingTime = 2000;
+ private static Configuration config;
+ public static int ingotCoolingTime = 200;
+ public static int ingotMeltingTime = 1500;
+ public static int jewelryCraftingTime = 2000;
- private static boolean isInitialized = false;
+ private static boolean isInitialized = false;
+ public static boolean generateVillageNetherstar = false;
+ public static boolean canFurnacesGenerateIngots = true;
+ public static int maxVillageJewelers = 1;
+ public static int jewelerWeight = 30;
+ public static int ingotChestMin = 1;
+ public static int ingotChestMax = 4;
+ public static int ingotChestMaxStack = 2;
+ public static int jewelsChestMin = 2;
+ public static int jewelsChestMax = 5;
+ public static int furnacesIngotStackMin = 2;
+ public static int furnacesIngotStackMax = 5;
public static void preInit(FMLPreInitializationEvent e)
{
@@ -20,9 +31,23 @@ public class ConfigHandler
config.load();
- ingotCoolingTime = config.get("timers", "Molder Ingot Cooling Time", ingotCoolingTime).getInt();
- ingotMeltingTime = config.get("timers", "Ingot Melting Time", ingotMeltingTime).getInt();
- jewelryCraftingTime = config.get("timers", "Jewelry Crafting Time", jewelryCraftingTime).getInt();
+ ingotCoolingTime = config.get("Timers", "Molder Ingot Cooling Time", ingotCoolingTime, "This sets the number of ticks you need to wait before the mold is cooled.").getInt();
+ ingotMeltingTime = config.get("Timers", "Ingot Melting Time", ingotMeltingTime, "This sets the number of ticks you need to wait before an ingot is completely smelted.").getInt();
+ jewelryCraftingTime = config.get("Timers", "Jewelry Crafting Time", jewelryCraftingTime, "This sets the number of ticks it takes for a jewel to be modified.").getInt();
+
+ generateVillageNetherstar = config.get("Village Generation", "Netherstar Generation", generateVillageNetherstar, "If set to true Nether Stars will be able to generate in Jewelers chests.").getBoolean(generateVillageNetherstar);
+ canFurnacesGenerateIngots = config.get("Village Generation", "Furnace Ingots Generation", canFurnacesGenerateIngots, "If set to true jewelers will generate ingots in furnaces.").getBoolean(canFurnacesGenerateIngots);
+
+ maxVillageJewelers = config.get("Village Generation", "Maximum Jewelers", maxVillageJewelers, "Sets how many jewelers can be in a village.").getInt();
+ jewelerWeight = config.get("Village Generation", "Jewelers Weight", jewelerWeight, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.").getInt();
+
+ ingotChestMin = config.get("Village Generation", "Ingot Chest Min", ingotChestMin, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt();
+ ingotChestMax = config.get("Village Generation", "Ingot Chest Max", ingotChestMax, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt();
+ ingotChestMaxStack = config.get("Village Generation", "Ingot Chest Max Stack", ingotChestMaxStack, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.").getInt();
+ jewelsChestMin = config.get("Village Generation", "Jewelers Chest Min", jewelsChestMin, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt();
+ jewelsChestMax = config.get("Village Generation", "Jewelers Chest Max", jewelsChestMax, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt();
+ furnacesIngotStackMin = config.get("Village Generation", "Ingot Furnace Min", furnacesIngotStackMin, "Determines the minimum number of ingots that can generate in a furnace.").getInt();
+ furnacesIngotStackMax = config.get("Village Generation", "Ingot Furnace Max", furnacesIngotStackMax, "Determines the maximum number of ingots that can generate in a furnace.").getInt();
config.save();
diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java
index 957705c..42dc5a7 100644
--- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java
+++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java
@@ -59,7 +59,8 @@ public class EntityEventHandler
{
if(!event.world.isRemote)
{
- JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ new File(JewelrycraftMod.dir + File.separator + "Jewelrycraft").mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + "Jewelrycraft", "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
try {
if(!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
} catch (IOException e) {
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java
index 9bf9896..f40b861 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java
@@ -102,7 +102,7 @@ public class ItemMoltenMetal extends Item
red = (icon.getRGB(x, y) >> 16) & 0xFF;
green = (icon.getRGB(x, y) >> 8) & 0xFF;
blue = icon.getRGB(x, y) & 0xFF;
- if((red <= 80 && green <= 80 && blue <= 80) || (red >= 180 && green >= 180 && blue >= 180))
+ if(!isColorPretty(red, green, blue))
{
if(x<icon.getTileWidth()-1) x++;
if(x>=icon.getTileWidth()-1 && y<icon.getTileWidth()-1)
@@ -119,4 +119,10 @@ public class ItemMoltenMetal extends Item
if(JewelryNBT.ingot(stack) != null) return JewelryNBT.ingotColor(stack);
return 16777215;
}
+
+ public static boolean isColorPretty(int r, int g, int b)
+ {
+ if(r > 80 || g > 80 || b > 80 || (r > 80 && g > 80 && b > 80 && r < 180 && b < 180 && g < 180)) return true;
+ return false;
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java
index 4bb9050..0d9081c 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java
@@ -270,7 +270,7 @@ public class ItemMoltenMetalBucket extends Item
red = (icon.getRGB(x, y) >> 16) & 0xFF;
green = (icon.getRGB(x, y) >> 8) & 0xFF;
blue = icon.getRGB(x, y) & 0xFF;
- if((red <= 80 && green <= 80 && blue <= 80) || (red >= 180 && green >= 180 && blue >= 180))
+ if(!isColorPretty(red, green, blue))
{
if(x<icon.getTileWidth()-1) x++;
if(x>=icon.getTileWidth()-1 && y<icon.getTileWidth()-1)
@@ -287,6 +287,12 @@ public class ItemMoltenMetalBucket extends Item
if(JewelryNBT.ingot(stack) != null && pass == 1) return JewelryNBT.ingotColor(stack);
return 16777215;
}
+
+ public static boolean isColorPretty(int r, int g, int b)
+ {
+ if(r > 80 || g > 80 || b > 80 || (r > 80 && g > 80 && b > 80 && r < 180 && b < 180 && g < 180)) return true;
+ return false;
+ }
public ItemStack getModifiedItemStack(ItemStack ingot)
{
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java b/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java
index 7206423..96ef364 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java
@@ -215,9 +215,9 @@ public class ItemNecklace extends Item
for(int x = (int) - 1; x <= 1; x++)
for(int z = (int) - 1; z <= 1; z++)
if(JewelryNBT.isModifierX(stack, new ItemStack(Items.diamond_pickaxe)) && JewelryNBT.isJewelX(stack, new ItemStack(Items.nether_star)) && JewelryNBT.isIngotX(stack, new ItemStack(ItemList.shadowIngot)))
- if((side == 0 || side == 1) && j > 0 && world.getBlock(i + x, j, k + z) != Blocks.bedrock) world.func_147480_a(i + x, j, k + z, true);
- else if((side == 2 || side == 3) && j + x > 0 && world.getBlock(i + z, j + x, k) != Blocks.bedrock) world.func_147480_a(i + z, j + x, k, true);
- else if((side == 4 || side == 5) && j + x > 0 && world.getBlock(i, j + x, k + z) != Blocks.bedrock) world.func_147480_a(i, j + x, k + z, true);
+ if((side == 0 || side == 1) && j > 0 && world.getBlock(i, j + x, k + z) != Blocks.air && world.getBlock(i + x, j, k + z).getBlockHardness(world, i + x, j, k + z) > 0F) world.func_147480_a(i + x, j, k + z, true);
+ else if((side == 2 || side == 3) && j + x > 0 && world.getBlock(i, j + x, k + z) != Blocks.air && world.getBlock(i + z, j + x, k).getBlockHardness(world, i + z, j + x, k) > 0F) world.func_147480_a(i + z, j + x, k, true);
+ else if((side == 4 || side == 5) && j + x > 0 && world.getBlock(i, j + x, k + z) != Blocks.air && world.getBlock(i, j + x, k + z).getBlockHardness(world, i, j + x, k + z) > 0F) world.func_147480_a(i, j + x, k + z, true);
}
return true;
}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemRing.java b/src/main/java/darkknight/jewelrycraft/item/ItemRing.java
index 75b335d..1ef602b 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemRing.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemRing.java
@@ -117,7 +117,7 @@ public class ItemRing extends Item
red = (icon.getRGB(x, y) >> 16) & 0xFF;
green = (icon.getRGB(x, y) >> 8) & 0xFF;
blue = icon.getRGB(x, y) & 0xFF;
- if((red <= 80 && green <= 80 && blue <= 80) || (red >= 180 && green >= 180 && blue >= 180))
+ if(!isColorPretty(red, green, blue))
{
if(x<icon.getTileWidth()-1) x++;
if(x>=icon.getTileWidth()-1 && y<icon.getTileWidth()-1)
@@ -151,7 +151,7 @@ public class ItemRing extends Item
red = (icon.getRGB(x, y) >> 16) & 0xFF;
green = (icon.getRGB(x, y) >> 8) & 0xFF;
blue = icon.getRGB(x, y) & 0xFF;
- if((red <= 95 && green <= 95 && blue <= 95) || (red >= 180 && green >= 180 && blue >= 180))
+ if(!isColorPretty(red, green, blue))
{
if(x<icon.getTileWidth()-1) x++;
if(x>=icon.getTileWidth()-1 && y<icon.getTileWidth()-1)
@@ -171,6 +171,12 @@ public class ItemRing extends Item
else if(JewelryNBT.ingot(stack) != null) return JewelryNBT.ingotColor(stack);
return 16777215;
}
+
+ public static boolean isColorPretty(int r, int g, int b)
+ {
+ if(r > 80 || g > 80 || b > 80 || (r > 80 && g > 80 && b > 80 && r < 180 && b < 180 && g < 180)) return true;
+ return false;
+ }
public String getItemStackDisplayName(ItemStack stack)
{
@@ -359,18 +365,18 @@ public class ItemRing extends Item
used = true;
}
- if(!JewelryNBT.hasTag(stack, "tile") && world.getTileEntity(i, j, k) != null && !used){
+ if(!JewelryNBT.hasTag(stack, "tile") && world.getTileEntity(i, j, k) != null && !used && world.getBlock(i, j, k).getBlockHardness(world, i, j, k) > 0F){
JewelryNBT.addTileEntityBlock(stack, world, i, j, k);
world.removeTileEntity(i, j, k);
world.setBlock(i, j, k, Block.getBlockById(0));
}
- else if(!JewelryNBT.hasTag(stack, "blockID") && !used){
+ else if(!JewelryNBT.hasTag(stack, "blockID") && !used && world.getBlock(i, j, k).getBlockHardness(world, i, j, k) > 0F){
JewelryNBT.addBlock(stack, Block.getIdFromBlock(world.getBlock(i, j, k)), world.getBlockMetadata(i, j, k));
JewelryNBT.addBlockCoordonates(stack, i, j, k);
world.setBlock(i, j, k, Block.getBlockById(0));
}
}
- if(JewelryNBT.isModifierX(stack, new ItemStack(Items.diamond_pickaxe)) && JewelryNBT.isJewelX(stack, new ItemStack(Items.nether_star)) && JewelryNBT.isIngotX(stack, new ItemStack(ItemList.shadowIngot)) && j > 0 && world.getBlock(i, j, k) != Blocks.bedrock)
+ if(JewelryNBT.isModifierX(stack, new ItemStack(Items.diamond_pickaxe)) && JewelryNBT.isJewelX(stack, new ItemStack(Items.nether_star)) && JewelryNBT.isIngotX(stack, new ItemStack(ItemList.shadowIngot)) && j > 0 && world.getBlock(i, j, k).getBlockHardness(world, i, j, k) > 0F)
world.func_147480_a(i, j, k, true);
}
return true;
diff --git a/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java b/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java
index 905665e..7575c06 100644
--- a/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java
+++ b/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java
@@ -82,15 +82,14 @@ public class JewelrycraftUtil
int index = 0, index2 = 0;
while(index < OreDictionary.getOreNames().length)
{
- while(index2 < OreDictionary.getOres(OreDictionary.getOreNames()[index]).size())
+ Iterator<ItemStack> i = OreDictionary.getOres(OreDictionary.getOreNames()[index]).iterator();
+
+ while (i.hasNext())
{
- ItemStack stack = OreDictionary.getOres(OreDictionary.getOreNames()[index]).get(index2).copy();
- if(stack.getItemDamage() == Short.MAX_VALUE) stack.setItemDamage(0);
- if(stack.getUnlocalizedName().toLowerCase().contains("ingot") && !JewelrycraftUtil.metal.contains(stack))
- metal.add(OreDictionary.getOres(OreDictionary.getOreNames()[index]).get(index2));
- index2++;
+ ItemStack nextStack = i.next();
+
+ if ((nextStack.getItem().getUnlocalizedName().toLowerCase().contains("ingot") || nextStack.getItem().getUnlocalizedName().toLowerCase().contains("alloy")) && !metal.contains(nextStack)) metal.add(nextStack);
}
- index2 = 0;
index++;
}
if(!metal.contains(new ItemStack(Items.gold_ingot)))metal.add(new ItemStack(Items.gold_ingot));
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java b/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java
index 9ff79ab..90d2bb1 100644
--- a/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java
+++ b/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java
@@ -37,7 +37,7 @@ public class Generation implements IWorldGenerator
int x = i + random.nextInt(16);
int y = 5 + random.nextInt(4);
int z = j + random.nextInt(16);
- world.setBlock(x, y, z, BlockList.shadowOre);
+ if(world.getBlock(x, y, z) == Blocks.stone) world.setBlock(x, y, z, BlockList.shadowOre);
int randX = random.nextInt(2), randY = random.nextInt(1), randZ = random.nextInt(2);
if(random.nextInt(3) == 0 && world.getBlock(x + randX, y + randY, z + randZ) == Blocks.stone) world.setBlock(x + randX, y + randY, z + randZ, BlockList.shadowOre);
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java
index 0a79b79..32c9ec2 100644
--- a/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java
+++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java
@@ -16,6 +16,7 @@ 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;
@@ -170,29 +171,29 @@ public class ComponentJewelry extends StructureVillagePieces.House1
for(int j = 1; j <= 5; j++)
this.placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb);
- generateChest(world, 3, 1, 1, 0, random, sbb, 2, 6);
+ generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
generateDisplayer(world, 3, 1, 2, (coordBaseMode == 0 || coordBaseMode == 2)?1:2, random, sbb);
placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, (coordBaseMode == 0 || coordBaseMode == 2)?1:2, 3, 1, 3, sbb);
generateDisplayer(world, 3, 1, 4, (coordBaseMode == 0 || coordBaseMode == 2)?1:2, random, sbb);
- generateChest(world, 3, 1, 5, 0, random, sbb, 2, 6);
+ generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateFurnace(world, 1, 1, 7, 0, random, sbb, 1, 2, true);
- generateFurnace(world, 1, 2, 7, 0, random, sbb, 2, 3, true);
- generateFurnace(world, 1, 3, 7, 0, random, sbb, 1, 3, true);
- generateFurnace(world, 1, 1, 10, 0, random, sbb, 1, 2, true);
- generateFurnace(world, 1, 2, 10, 0, random, sbb, 2, 3, true);
- generateFurnace(world, 1, 3, 10, 0, random, sbb, 1, 3, true);
+ generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
+ generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
+ generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
+ generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
+ generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
+ generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
generateSmelter(world, 1, 1, 8, (coordBaseMode == 0 || coordBaseMode == 2)?1:2, random, sbb, random.nextBoolean());
generateSmelter(world, 1, 1, 9, (coordBaseMode == 0 || coordBaseMode == 2)?1:2, random, sbb, random.nextBoolean());
generateMolder(world, 2, 1, 8, (coordBaseMode == 0 || coordBaseMode == 2)?1:2, random, sbb, random.nextBoolean(), random.nextBoolean());
generateMolder(world, 2, 1, 9, (coordBaseMode == 0 || coordBaseMode == 2)?1:2, random, sbb, random.nextBoolean(), random.nextBoolean());
-
- generateIngotChest(world, 9, 1, 7, 0, random, sbb, 3, 12, Blocks.chest, 5);
- generateIngotChest(world, 9, 1, 8, 0, random, sbb, 5, 16, Blocks.chest, 3);
- generateIngotChest(world, 9, 1, 9, 0, random, sbb, 3, 10, Blocks.trapped_chest, 2);
- generateIngotChest(world, 9, 1, 10, 0, random, sbb, 3, 9, Blocks.trapped_chest, 6);
+
+ generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
+ generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
+ generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
+ generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
for (int l = 0; l < 6; ++l)
@@ -228,9 +229,11 @@ public class ComponentJewelry extends StructureVillagePieces.House1
TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
while(chest != null && t > 0)
{
+ ItemStack jewels = JewelrycraftUtil.jewel.get(random.nextInt(JewelrycraftUtil.jewel.size()));
chest.func_145976_a("Jeweler's Chest");
if(random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), JewelrycraftUtil.modifiers.get(random.nextInt(JewelrycraftUtil.modifiers.size())));
- else chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), JewelrycraftUtil.jewel.get(random.nextInt(JewelrycraftUtil.jewel.size())));
+ else if(jewels.getItem() == Items.nether_star && ConfigHandler.generateVillageNetherstar) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
+ else if(random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
t--;
}
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java
index 145c9a0..3b3aa3f 100644
--- a/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java
+++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java
@@ -9,13 +9,14 @@ import net.minecraft.world.gen.structure.MapGenStructureIO;
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
{
@Override
public PieceWeight getVillagePieceWeight (Random random, int i)
{
- return new PieceWeight(ComponentJewelry.class, 30, i + random.nextInt(4));
+ return new PieceWeight(ComponentJewelry.class, ConfigHandler.jewelerWeight, ConfigHandler.maxVillageJewelers);
}
@Override