diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 813740352..dd7af4b60 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -576,8 +576,8 @@ public class HbmWorldGen implements IWorldGenerator { } if(WorldConfig.meteoriteSpawn > 0 && rand.nextInt(WorldConfig.meteoriteSpawn) == 0) { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); + int x = i + rand.nextInt(16) + 8; + int z = j + rand.nextInt(16) + 8; int y = world.getHeightValue(x, z) - rand.nextInt(10); if(y > 1) (new Meteorite()).generate(world, rand, x, y, z, false, false, false); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java index 313d19986..5cde6c932 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java @@ -130,7 +130,7 @@ public class TileEntityCharger extends TileEntityLoadedBase implements IEnergyRe IBatteryItem battery = (IBatteryItem) stack.getItem(); long toCharge = Math.min(battery.getMaxCharge(stack) - battery.getCharge(stack), battery.getChargeRate()); - toCharge = Math.min(toCharge, power / 5); + toCharge = Math.min(toCharge, Math.max(power / 5, 1)); battery.chargeBattery(stack, toCharge); power -= toCharge; diff --git a/src/main/java/com/hbm/world/generator/DungeonToolbox.java b/src/main/java/com/hbm/world/generator/DungeonToolbox.java index 7e0a899f9..51846f603 100644 --- a/src/main/java/com/hbm/world/generator/DungeonToolbox.java +++ b/src/main/java/com/hbm/world/generator/DungeonToolbox.java @@ -13,12 +13,12 @@ import net.minecraft.world.gen.feature.WorldGenFlowers; import net.minecraft.world.gen.feature.WorldGenMinable; public class DungeonToolbox { - + public static void generateBox(World world, int x, int y, int z, int sx, int sy, int sz, List blocks) { - + if(blocks.isEmpty()) return; - + for(int i = x; i < x + sx; i++) { for(int j = y; j < y + sy; j++) { for(int k = z; k < z + sz; k++) { @@ -28,68 +28,68 @@ public class DungeonToolbox { } } } - + public static void generateBox(World world, int x, int y, int z, int sx, int sy, int sz, Block block) { generateBox(world, x, y, z, sx, sy, sz, new MetaBlock(block)); } //i know it's copy paste, but it's a better strat than using a wrapper and generating single-entry lists for no good reason public static void generateBox(World world, int x, int y, int z, int sx, int sy, int sz, MetaBlock block) { - + for(int i = x; i < x + sx; i++) { - + for(int j = y; j < y + sy; j++) { - + for(int k = z; k < z + sz; k++) { - + world.setBlock(i, j, k, block.block, block.meta, 2); } } } } - + //now with vectors to provide handy rotations public static void generateBox(World world, int x, int y, int z, Vec3 size, List blocks) { - + generateBox(world, x, y, z, (int)size.xCoord, (int)size.yCoord, (int)size.zCoord, blocks); } - + public static T getRandom(List list, Random rand) { - + if(list.isEmpty()) return null; return list.get(rand.nextInt(list.size())); } - + public static void generateOre(World world, Random rand, int chunkX, int chunkZ, int veinCount, int amount, int minHeight, int variance, Block ore) { generateOre(world, rand, chunkX, chunkZ, veinCount, amount, minHeight, variance, ore, 0, Blocks.stone); } - + public static void generateOre(World world, Random rand, int chunkX, int chunkZ, int veinCount, int amount, int minHeight, int variance, Block ore, int meta) { generateOre(world, rand, chunkX, chunkZ, veinCount, amount, minHeight, variance, ore, meta, Blocks.stone); } - + public static void generateOre(World world, Random rand, int chunkX, int chunkZ, int veinCount, int amount, int minHeight, int variance, Block ore, Block target) { generateOre(world, rand, chunkX, chunkZ, veinCount, amount, minHeight, variance, ore, 0, target); } - + public static void generateOre(World world, Random rand, int chunkX, int chunkZ, int veinCount, int amount, int minHeight, int variance, Block ore, int meta, Block target) { - + for(int i = 0; i < veinCount; i++) { - + int x = chunkX + rand.nextInt(16); int y = minHeight + (variance > 0 ? rand.nextInt(variance) : 0); int z = chunkZ + rand.nextInt(16); - + (new WorldGenMinable(ore, meta, amount, target)).generate(world, rand, x, y, z); } } private static WorldGenFlowers genFlowers = new WorldGenFlowers(null); public static void generateFlowers(World world, Random rand, int chunkX, int chunkZ, Block flower, int meta) { - int x = chunkX + rand.nextInt(16); - int z = chunkZ + rand.nextInt(16); + int x = chunkX + rand.nextInt(16) + 8; + int z = chunkZ + rand.nextInt(16) + 8; int y = world.getHeightValue(x, z); genFlowers.func_150550_a(flower, meta); genFlowers.generate(world, rand, x, y, z);