mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Block type fixes
This commit is contained in:
parent
3b76bb64a9
commit
71c90c6d31
@ -283,6 +283,11 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
|
|||||||
|
|
||||||
protected boolean canPlace(Material mat, Material onto)
|
protected boolean canPlace(Material mat, Material onto)
|
||||||
{
|
{
|
||||||
|
if(onto.equals(Material.GRASS_BLOCK) && mat.equals(Material.DEAD_BUSH))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(onto.equals(Material.GRASS_PATH))
|
if(onto.equals(Material.GRASS_PATH))
|
||||||
{
|
{
|
||||||
if(!mat.isSolid())
|
if(!mat.isSolid())
|
||||||
@ -291,7 +296,7 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(onto.equals(Material.STONE) || onto.equals(Material.GRAVEL) || onto.equals(Material.ANDESITE) || onto.equals(Material.GRANITE) || onto.equals(Material.DIORITE) || onto.equals(Material.BLACKSTONE) || onto.equals(Material.BASALT))
|
if(onto.equals(Material.STONE) || onto.equals(Material.GRAVEL) || onto.equals(Material.GRAVEL) || onto.equals(Material.ANDESITE) || onto.equals(Material.GRANITE) || onto.equals(Material.DIORITE) || onto.equals(Material.BLACKSTONE) || onto.equals(Material.BASALT))
|
||||||
{
|
{
|
||||||
if(mat.equals(Material.POPPY) || mat.equals(Material.DANDELION) || mat.equals(Material.CORNFLOWER) || mat.equals(Material.ORANGE_TULIP) || mat.equals(Material.PINK_TULIP) || mat.equals(Material.RED_TULIP) || mat.equals(Material.WHITE_TULIP) || mat.equals(Material.FERN) || mat.equals(Material.LARGE_FERN) || mat.equals(Material.GRASS) || mat.equals(Material.TALL_GRASS))
|
if(mat.equals(Material.POPPY) || mat.equals(Material.DANDELION) || mat.equals(Material.CORNFLOWER) || mat.equals(Material.ORANGE_TULIP) || mat.equals(Material.PINK_TULIP) || mat.equals(Material.RED_TULIP) || mat.equals(Material.WHITE_TULIP) || mat.equals(Material.FERN) || mat.equals(Material.LARGE_FERN) || mat.equals(Material.GRASS) || mat.equals(Material.TALL_GRASS))
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@ package com.volmit.iris.object;
|
|||||||
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
||||||
import org.bukkit.util.BlockVector;
|
import org.bukkit.util.BlockVector;
|
||||||
@ -175,7 +176,7 @@ public class IrisDepositGenerator
|
|||||||
|
|
||||||
int x = rng.i(af, bf);
|
int x = rng.i(af, bf);
|
||||||
int z = rng.i(af, bf);
|
int z = rng.i(af, bf);
|
||||||
int height = (int) (Math.round(g.getTerrainHeight(x, z))) - 5;
|
int height = (int) (Math.round(g.getTerrainWaterHeight(x, z))) - 5;
|
||||||
|
|
||||||
if(height <= 0)
|
if(height <= 0)
|
||||||
{
|
{
|
||||||
@ -210,7 +211,7 @@ public class IrisDepositGenerator
|
|||||||
|
|
||||||
BlockData b = data.getBlockData(nx, ny, nz);
|
BlockData b = data.getBlockData(nx, ny, nz);
|
||||||
|
|
||||||
if(!b.getMaterial().isSolid())
|
if(b.getMaterial().equals(Material.ICE) || b.getMaterial().equals(Material.SAND) || b.getMaterial().equals(Material.RED_SAND) || !b.getMaterial().isSolid())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,7 @@ public class AtomicSliver
|
|||||||
lock.lock();
|
lock.lock();
|
||||||
block.put(h, d);
|
block.put(h, d);
|
||||||
modified = true;
|
modified = true;
|
||||||
|
|
||||||
if(d.getMaterial().equals(Material.AIR) || d.getMaterial().equals(Material.CAVE_AIR))
|
if(d.getMaterial().equals(Material.AIR) || d.getMaterial().equals(Material.CAVE_AIR))
|
||||||
{
|
{
|
||||||
lock.unlock();
|
lock.unlock();
|
||||||
@ -176,7 +176,15 @@ public class AtomicSliver
|
|||||||
|
|
||||||
for(int i = 0; i <= h; i++)
|
for(int i = 0; i <= h; i++)
|
||||||
{
|
{
|
||||||
block.put(i, BlockDataTools.getBlockData(din.readUTF()));
|
BlockData v = BlockDataTools.getBlockData(din.readUTF());
|
||||||
|
|
||||||
|
if(v == null)
|
||||||
|
{
|
||||||
|
block.put(i, AIR);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
block.put(i, v);
|
||||||
}
|
}
|
||||||
modified = false;
|
modified = false;
|
||||||
lock.unlock();
|
lock.unlock();
|
||||||
|
@ -64,7 +64,15 @@ public class AtomicSliverMap
|
|||||||
|
|
||||||
for(int i = 0; i < 256; i++)
|
for(int i = 0; i < 256; i++)
|
||||||
{
|
{
|
||||||
slivers[i].read(din);
|
try
|
||||||
|
{
|
||||||
|
slivers[i].read(din);
|
||||||
|
}
|
||||||
|
|
||||||
|
catch(Throwable e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,7 +101,7 @@ public class AtomicSliverMap
|
|||||||
i.inject(currentData);
|
i.inject(currentData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isModified()
|
public boolean isModified()
|
||||||
{
|
{
|
||||||
for(AtomicSliver i : slivers)
|
for(AtomicSliver i : slivers)
|
||||||
@ -103,7 +111,7 @@ public class AtomicSliverMap
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,15 +25,6 @@ public class BlockDataTools
|
|||||||
if(bdx == null)
|
if(bdx == null)
|
||||||
{
|
{
|
||||||
Iris.warn("Unknown Block Data '" + bd + "'");
|
Iris.warn("Unknown Block Data '" + bd + "'");
|
||||||
try
|
|
||||||
{
|
|
||||||
throw new RuntimeException("Unknown Block Data");
|
|
||||||
}
|
|
||||||
|
|
||||||
catch(Throwable e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
nulls.add(bd);
|
nulls.add(bd);
|
||||||
return bdx;
|
return bdx;
|
||||||
}
|
}
|
||||||
@ -46,7 +37,6 @@ public class BlockDataTools
|
|||||||
catch(Throwable e)
|
catch(Throwable e)
|
||||||
{
|
{
|
||||||
Iris.warn("Unknown Block Data '" + bd + "'");
|
Iris.warn("Unknown Block Data '" + bd + "'");
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user