summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/worldGen
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-05-01 21:37:34 +0100
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-05-01 21:37:34 +0100
commit80417b99e10a462fd72b8f8fcd3b226c862534e4 (patch)
tree4ee9262290ae8939abf16e8104ebd90a5cc4a744 /src/main/java/darkknight/jewelrycraft/worldGen
parent1bdf66197e0c2547c32a64ae6dc17f5c2367cc49 (diff)
- Fixed villages crashing on a server
- Fixed item duplication glitch
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/worldGen')
-rw-r--r--src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java18
-rw-r--r--src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java12
2 files changed, 15 insertions, 15 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java
index 2e8bbd1..275b522 100644
--- a/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java
+++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java
@@ -222,7 +222,7 @@ public class ComponentJewelry extends StructureVillagePieces.House1
int t = random.nextInt(max - min + 1) + min;
placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb);
TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
+ while (chest != null && t > 0 && JewelrycraftUtil.gem.size() > 0){
ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()));
chest.func_145976_a("Jeweler's Chest");
if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
@@ -252,7 +252,7 @@ public class ComponentJewelry extends StructureVillagePieces.House1
int t = random.nextInt(max - min + 1) + min;
placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
+ while (chest != null && t > 0 && JewelrycraftUtil.metal.size() > 0){
chest.func_145976_a("Ingot Chest");
int metalID = random.nextInt(JewelrycraftUtil.metal.size());
ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
@@ -283,7 +283,7 @@ public class ComponentJewelry extends StructureVillagePieces.House1
int t = random.nextInt(max - min + 1) + min;
placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
+ while (chest != null && t > 0 && JewelrycraftUtil.ores.size() > 0){
chest.func_145976_a("Ores Chest");
int oreID = random.nextInt(JewelrycraftUtil.ores.size());
ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy();
@@ -312,9 +312,9 @@ public class ComponentJewelry extends StructureVillagePieces.House1
if (displayer != null){
Item[] jewels = {ItemList.ring, ItemList.necklace};
ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]);
- JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
- JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4)));
- JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
+ if (JewelrycraftUtil.metal.size() > 0) JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
+ if (JewelrycraftUtil.objects.size() > 0) JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4)));
+ if (JewelrycraftUtil.gem.size() > 0) JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
displayer.object = jewel;
displayer.quantity = 1;
displayer.hasObject = true;
@@ -338,7 +338,7 @@ public class ComponentJewelry extends StructureVillagePieces.House1
int k1 = getZWithOffset(i, k);
placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb);
TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1);
- if (smelter != null && !isEmpty){
+ if (smelter != null && !isEmpty && JewelrycraftUtil.metal.size() > 0){
int metal = random.nextInt(JewelrycraftUtil.metal.size());
smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy();
smelter.hasMoltenMetal = true;
@@ -391,7 +391,7 @@ public class ComponentJewelry extends StructureVillagePieces.House1
int meta = random.nextInt(ItemMolds.moldsItemNames.length);
molder.mold = new ItemStack(ItemList.molds, 1, meta);
molder.hasMold = true;
- if (hasStuff){
+ if (hasStuff && JewelrycraftUtil.metal.size() > 0){
ItemStack ring = new ItemStack(ItemList.ring);
JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
ItemStack necklace = new ItemStack(ItemList.necklace);
@@ -431,7 +431,7 @@ public class ComponentJewelry extends StructureVillagePieces.House1
TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1);
if (furnace != null){
if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16)));
- if (hasMetal){
+ if (hasMetal && JewelrycraftUtil.metal.size() > 0){
int metalID = random.nextInt(JewelrycraftUtil.metal.size());
ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
metal.stackSize = random.nextInt(max - min + 1) + min;
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java
index a3f7158..015e939 100644
--- a/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java
+++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java
@@ -40,7 +40,7 @@ public class JCTrades implements IVillageTradeHandler
int type = random.nextInt(12);
switch(type)
{
- case 0:{
+ case 0:if(JewelrycraftUtil.metal.size() > 0){
result = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()));
result.stackSize = 5 + random.nextInt(5);
ingredient = new ItemStack(Items.emerald, 2 + random.nextInt(7));
@@ -84,7 +84,7 @@ public class JCTrades implements IVillageTradeHandler
if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 1 + random.nextInt(2));
break;
}
- case 7:{
+ case 7:if(JewelrycraftUtil.gem.size() > 0){
int end = random.nextInt(JewelrycraftUtil.gem.size());
result = JewelrycraftUtil.gem.get(end);
result.stackSize = 1 + random.nextInt(JewelrycraftUtil.gem.size() - end);
@@ -99,7 +99,7 @@ public class JCTrades implements IVillageTradeHandler
}
break;
}
- case 8:{
+ case 8:if(JewelrycraftUtil.ores.size() > 0){
result = JewelrycraftUtil.ores.get(random.nextInt(JewelrycraftUtil.ores.size()));
result.stackSize = 3 + random.nextInt(3);
ingredient = new ItemStack(Items.emerald, 2 + random.nextInt(5));
@@ -114,9 +114,9 @@ public class JCTrades implements IVillageTradeHandler
default:{
result = new ItemStack(ItemList.ring, 1, 0);
int randValue = random.nextInt(4);
- JewelryNBT.addMetal(result, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
- JewelryNBT.addModifiers(result, JewelrycraftUtil.addRandomModifiers(randValue));
- JewelryNBT.addGem(result, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
+ if(JewelrycraftUtil.metal.size() > 0) JewelryNBT.addMetal(result, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
+ if(JewelrycraftUtil.objects.size() > 0) JewelryNBT.addModifiers(result, JewelrycraftUtil.addRandomModifiers(randValue));
+ if(JewelrycraftUtil.gem.size() > 0) JewelryNBT.addGem(result, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
ingredient = new ItemStack(Items.emerald, 16 + random.nextInt(20));
ingredient2 = new ItemStack(Blocks.emerald_block, 2 + randValue);
}