mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 02:36:59 +00:00
Fix fx and spawning before terrain is setup
This commit is contained in:
parent
4b11bcb77b
commit
d42bcb0ab9
@ -141,7 +141,15 @@ public class IrisTerrainProvider extends SkyTerrainProvider implements IrisConte
|
|||||||
{
|
{
|
||||||
spawnable = true;
|
spawnable = true;
|
||||||
super.onTick(ticks);
|
super.onTick(ticks);
|
||||||
tickEffects();
|
try
|
||||||
|
{
|
||||||
|
tickEffects();
|
||||||
|
}
|
||||||
|
|
||||||
|
catch(Throwable e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void tickEffects()
|
protected void tickEffects()
|
||||||
@ -494,66 +502,74 @@ public class IrisTerrainProvider extends SkyTerrainProvider implements IrisConte
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isSpawnable())
|
try
|
||||||
{
|
{
|
||||||
if(!IrisSettings.get().isSystemEntitySpawnOverrides())
|
if(isSpawnable())
|
||||||
{
|
{
|
||||||
return;
|
if(!IrisSettings.get().isSystemEntitySpawnOverrides())
|
||||||
}
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
int x = e.getEntity().getLocation().getBlockX();
|
int x = e.getEntity().getLocation().getBlockX();
|
||||||
int y = e.getEntity().getLocation().getBlockY();
|
int y = e.getEntity().getLocation().getBlockY();
|
||||||
int z = e.getEntity().getLocation().getBlockZ();
|
int z = e.getEntity().getLocation().getBlockZ();
|
||||||
IrisDimension dim = getDimension();
|
IrisDimension dim = getDimension();
|
||||||
IrisRegion region = sampleRegion(x, z);
|
IrisRegion region = sampleRegion(x, z);
|
||||||
IrisBiome above = sampleTrueBiome(x, z);
|
IrisBiome above = sampleTrueBiome(x, z);
|
||||||
IrisBiome below = sampleTrueBiome(x, y, z);
|
IrisBiome below = sampleTrueBiome(x, y, z);
|
||||||
|
|
||||||
if(above.getLoadKey().equals(below.getLoadKey()))
|
if(above.getLoadKey().equals(below.getLoadKey()))
|
||||||
{
|
{
|
||||||
below = null;
|
below = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
IrisStructureResult res = getStructure(x, y, z);
|
IrisStructureResult res = getStructure(x, y, z);
|
||||||
|
|
||||||
if(res != null && res.getTile() != null)
|
if(res != null && res.getTile() != null)
|
||||||
{
|
{
|
||||||
if(trySpawn(res.getTile().getEntitySpawnOverrides(), e))
|
if(trySpawn(res.getTile().getEntitySpawnOverrides(), e))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(res != null && res.getStructure() != null)
|
||||||
|
{
|
||||||
|
if(trySpawn(res.getStructure().getEntitySpawnOverrides(), e))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(below != null)
|
||||||
|
{
|
||||||
|
if(trySpawn(below.getEntitySpawnOverrides(), e))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(trySpawn(above.getEntitySpawnOverrides(), e))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(trySpawn(region.getEntitySpawnOverrides(), e))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(trySpawn(dim.getEntitySpawnOverrides(), e))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if(res != null && res.getStructure() != null)
|
|
||||||
{
|
catch(Throwable xe)
|
||||||
if(trySpawn(res.getStructure().getEntitySpawnOverrides(), e))
|
{
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(below != null)
|
|
||||||
{
|
|
||||||
if(trySpawn(below.getEntitySpawnOverrides(), e))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(trySpawn(above.getEntitySpawnOverrides(), e))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(trySpawn(region.getEntitySpawnOverrides(), e))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(trySpawn(dim.getEntitySpawnOverrides(), e))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,32 +1,22 @@
|
|||||||
package com.volmit.iris.gen.nms;
|
package com.volmit.iris.gen.nms;
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Jigsaw;
|
|
||||||
import org.bukkit.craftbukkit.v1_16_R2.CraftWorld;
|
import org.bukkit.craftbukkit.v1_16_R2.CraftWorld;
|
||||||
|
|
||||||
import net.minecraft.server.v1_16_R2.BlockJigsaw;
|
|
||||||
import net.minecraft.server.v1_16_R2.ChunkGenerator;
|
import net.minecraft.server.v1_16_R2.ChunkGenerator;
|
||||||
import net.minecraft.server.v1_16_R2.DimensionManager;
|
import net.minecraft.server.v1_16_R2.DimensionManager;
|
||||||
import net.minecraft.server.v1_16_R2.IChunkAccess;
|
import net.minecraft.server.v1_16_R2.IChunkAccess;
|
||||||
import net.minecraft.server.v1_16_R2.IRegistry;
|
|
||||||
import net.minecraft.server.v1_16_R2.IRegistryCustom;
|
|
||||||
import net.minecraft.server.v1_16_R2.IRegistryWritable;
|
|
||||||
import net.minecraft.server.v1_16_R2.MinecraftServer;
|
import net.minecraft.server.v1_16_R2.MinecraftServer;
|
||||||
import net.minecraft.server.v1_16_R2.RegistryMaterials;
|
import net.minecraft.server.v1_16_R2.RegistryMaterials;
|
||||||
import net.minecraft.server.v1_16_R2.ResourceKey;
|
|
||||||
import net.minecraft.server.v1_16_R2.StructureGenerator;
|
|
||||||
import net.minecraft.server.v1_16_R2.StructureManager;
|
import net.minecraft.server.v1_16_R2.StructureManager;
|
||||||
import net.minecraft.server.v1_16_R2.StructureSettings;
|
|
||||||
import net.minecraft.server.v1_16_R2.WorldDataServer;
|
import net.minecraft.server.v1_16_R2.WorldDataServer;
|
||||||
import net.minecraft.server.v1_16_R2.WorldDimension;
|
import net.minecraft.server.v1_16_R2.WorldDimension;
|
||||||
import net.minecraft.server.v1_16_R2.WorldServer;
|
import net.minecraft.server.v1_16_R2.WorldServer;
|
||||||
|
|
||||||
public class WorldCracker162
|
public class WorldCracker162
|
||||||
{
|
{
|
||||||
public static void makeStuffAt(World world, int x, int z)
|
@SuppressWarnings("unused")
|
||||||
|
public static void go(World world, int x, int z)
|
||||||
{
|
{
|
||||||
WorldServer ws = ((CraftWorld) world).getHandle();
|
WorldServer ws = ((CraftWorld) world).getHandle();
|
||||||
MinecraftServer server = ws.getMinecraftServer();
|
MinecraftServer server = ws.getMinecraftServer();
|
||||||
@ -36,18 +26,6 @@ public class WorldCracker162
|
|||||||
WorldDimension wdm = (WorldDimension) registrymaterials.a(WorldDimension.OVERWORLD);
|
WorldDimension wdm = (WorldDimension) registrymaterials.a(WorldDimension.OVERWORLD);
|
||||||
DimensionManager dm = wdm.b();
|
DimensionManager dm = wdm.b();
|
||||||
ChunkGenerator cg = wdm.c();
|
ChunkGenerator cg = wdm.c();
|
||||||
IChunkAccess ica = ws.getChunkAt(x, z);
|
IChunkAccess ica = ws.getChunkAt(x, z);
|
||||||
}
|
|
||||||
|
|
||||||
public static void attemptGenVillage(World world, int x, int z)
|
|
||||||
{
|
|
||||||
WorldServer ws = ((CraftWorld) world).getHandle();
|
|
||||||
WorldDataServer wds = ws.worldDataServer;
|
|
||||||
StructureManager sm = ws.getStructureManager();
|
|
||||||
RegistryMaterials<WorldDimension> registrymaterials = wds.getGeneratorSettings().d();
|
|
||||||
WorldDimension wdm = (WorldDimension) registrymaterials.a(WorldDimension.OVERWORLD);
|
|
||||||
DimensionManager dm = wdm.b();
|
|
||||||
ChunkGenerator cg = wdm.c();
|
|
||||||
StructureSettings structureSettings = cg.getSettings();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user