Compare commits

...
4 Commits
Author SHA1 Message Date
Martin Robertz 6f182e932d update 2025-06-03 20:22:19 +02:00
d08b42f18c Protect some calls that lead to loadChunk with blockExists (#91)
Co-authored-by: Martin Robertz <[email protected]>
Co-authored-by: boubou19 <[email protected]>
Co-authored-by: Maya <[email protected]>
2025-06-01 21:05:22 +00:00
Martin Robertz 57cc915a1e update 2025-05-25 15:29:38 +02:00
DrParadox7 d7c5940596 Disable flowers that cannot be planted (#94) 2025-05-25 15:28:01 +02:00
7 changed files with 14 additions and 16 deletions

No files matched your search

+2 -2
View File
@@ -2,8 +2,8 @@
dependencies {
api('curse.maven:cofh-lib-220333:2388748')
compileOnlyApi('com.github.GTNewHorizons:Angelica:1.0.0-beta42:api')
devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.7.44-GTNH:dev')
compileOnlyApi('com.github.GTNewHorizons:Angelica:1.0.0-beta45:api')
devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.7.51-GTNH:dev')
compileOnly('com.github.GTNewHorizons:inventory-tweaks:1.7.1:api')
compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.42:api')
compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev')
@@ -213,6 +213,7 @@ public final class FlowerRegistry implements IFlowerRegistry, IFlowerGrowthHelpe
private static boolean isAcceptedFlower(String flowerType, Set<Block> acceptedBlocks, Set<Flower> acceptedFlowers,
World world, int x, int y, int z) {
if (!world.blockExists(x, y, z)) return false;
Block block = world.getBlock(x, y, z);
final int meta;
@@ -24,7 +24,7 @@ public class GrowthRuleDirtGrass implements IFlowerGrowthRule {
@Override
public boolean growFlower(IFlowerRegistry flowerRegistry, String flowerType, World world, IIndividual individual,
int x, int y, int z) {
if (!world.isAirBlock(x, y, z)) {
if (!world.blockExists(x, y, z) || !world.isAirBlock(x, y, z)) {
return false;
}
@@ -39,7 +39,7 @@ public class GrowthRuleDirtGrass implements IFlowerGrowthRule {
@Override
public boolean growFlower(IFlowerGrowthHelper helper, String flowerType, World world, int x, int y, int z) {
if (!world.isAirBlock(x, y, z)) {
if (!world.blockExists(x, y, z) || !world.isAirBlock(x, y, z)) {
return false;
}
@@ -34,6 +34,10 @@ public class GrowthRuleFlowerPot implements IFlowerGrowthRule {
}
private static boolean growFlower(String flowerType, World world, int x, int y, int z) {
if (!world.blockExists(x, y, z)) {
return false;
}
TileEntity tile = world.getTileEntity(x, y, z);
if (!(tile instanceof TileEntityFlowerPot)) {
return false;
@@ -773,6 +773,9 @@ public class Bee extends IndividualLiving implements IBee {
for (int i = 0; i < 20; i++) {
Vect randomPos = Vect.getRandomPositionInArea(random, area);
Vect blockPos = Vect.add(housingPos, randomPos, offset);
if (!world.blockExists(blockPos.x, blockPos.y, blockPos.z)) {
continue;
}
TileEntity tile = world.getTileEntity(blockPos.x, blockPos.y, blockPos.z);
if (tile instanceof IPollinatable) {
@@ -96,6 +96,8 @@ public class GeneticsUtil {
* altering the world by changing vanilla leaves to forestry ones.
*/
public static ICheckPollinatable getCheckPollinatable(World world, final int x, final int y, final int z) {
if (!world.blockExists(x, y, z)) return null;
TileEntity tile = world.getTileEntity(x, y, z);
if (tile instanceof IPollinatable) {
@@ -197,8 +197,6 @@ public class PluginBiomesOPlenty extends ForestryPlugin {
FlowerManager.FlowerTypeVanilla,
FlowerManager.FlowerTypeSnow,
FlowerManager.FlowerTypeMushrooms); // Swampflower
// FlowerManager.flowerRegistry.registerPlantableFlower(flowers, 2, 1.0, FlowerManager.FlowerTypeNether);
// //Deathbloom
FlowerManager.flowerRegistry.registerPlantableFlower(
flowers,
3,
@@ -248,16 +246,8 @@ public class PluginBiomesOPlenty extends ForestryPlugin {
1.0,
FlowerManager.FlowerTypeVanilla,
FlowerManager.FlowerTypeSnow); // Waterlily
FlowerManager.flowerRegistry.registerPlantableFlower(
flowers,
11,
1.0,
FlowerManager.FlowerTypeVanilla,
FlowerManager.FlowerTypeSnow); // EnderLotus (does not actually spawn in the end)
FlowerManager.flowerRegistry.registerPlantableFlower(flowers, 12, 1.0, FlowerManager.FlowerTypeCacti); // Bromeliad
FlowerManager.flowerRegistry.registerPlantableFlower(flowers, 13, 1.0, FlowerManager.FlowerTypeNether); // EyeBulb
// FlowerManager.flowerRegistry.registerPlantableFlower(flowers, 14, 1.0, FlowerManager.FlowerTypeNether);
// // Unlisted top of the eyebulb
FlowerManager.flowerRegistry.registerPlantableFlower(
flowers,
15,
@@ -283,8 +273,6 @@ public class PluginBiomesOPlenty extends ForestryPlugin {
FlowerManager.flowerRegistry.registerPlantableFlower(flowers2, 3, 1.0, FlowerManager.FlowerTypeVanilla); // Lavender
FlowerManager.flowerRegistry.registerPlantableFlower(flowers2, 4, 1.0, FlowerManager.FlowerTypeVanilla); // Goldenrod
FlowerManager.flowerRegistry.registerPlantableFlower(flowers2, 5, 1.0, FlowerManager.FlowerTypeVanilla); // Bluebells
FlowerManager.flowerRegistry.registerPlantableFlower(flowers2, 6, 1.0, FlowerManager.FlowerTypeVanilla); // Miner's
// delight
FlowerManager.flowerRegistry.registerPlantableFlower(
flowers2,
7,