mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 18:55:18 +00:00
""Fix"" Parallax map null issues
This commit is contained in:
parent
361d02e075
commit
e75afe6c41
@ -173,6 +173,20 @@ public abstract class ParallaxTerrainProvider extends TopographicTerrainProvider
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
if(getParallaxMap() == null)
|
||||||
|
{
|
||||||
|
if(getTarget() == null)
|
||||||
|
{
|
||||||
|
Iris.warn("Parallax map was accessed before init! Serving a dummy chunk!");
|
||||||
|
return new AtomicSliverMap();
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setParallaxMap(new AtomicWorldData(getTarget()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return getParallaxMap().loadChunk(x, z);
|
return getParallaxMap().loadChunk(x, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,26 +1,17 @@
|
|||||||
package com.volmit.iris.manager;
|
package com.volmit.iris.manager;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
import com.minelazz.epicworldgenerator.structures.StructureObject;
|
import com.minelazz.epicworldgenerator.structures.StructureObject;
|
||||||
import com.sk89q.worldedit.bukkit.BukkitAdapter;
|
|
||||||
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
|
||||||
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormat;
|
|
||||||
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormats;
|
|
||||||
import com.sk89q.worldedit.extent.clipboard.io.ClipboardReader;
|
|
||||||
import com.sk89q.worldedit.math.BlockVector3;
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.object.IrisObject;
|
|
||||||
import com.volmit.iris.util.Converter;
|
import com.volmit.iris.util.Converter;
|
||||||
import com.volmit.iris.util.FastBlockData;
|
|
||||||
import com.volmit.iris.util.J;
|
import com.volmit.iris.util.J;
|
||||||
import com.volmit.iris.util.KList;
|
import com.volmit.iris.util.KList;
|
||||||
import com.volmit.iris.util.MortarSender;
|
import com.volmit.iris.util.MortarSender;
|
||||||
|
import com.volmit.iris.util.SKConversion;
|
||||||
|
|
||||||
public class ConversionManager
|
public class ConversionManager
|
||||||
{
|
{
|
||||||
@ -33,6 +24,8 @@ public class ConversionManager
|
|||||||
converters = new KList<>();
|
converters = new KList<>();
|
||||||
|
|
||||||
J.s(() ->
|
J.s(() ->
|
||||||
|
{
|
||||||
|
J.attemptAsync(() ->
|
||||||
{
|
{
|
||||||
if(Bukkit.getPluginManager().isPluginEnabled("WorldEdit"))
|
if(Bukkit.getPluginManager().isPluginEnabled("WorldEdit"))
|
||||||
{
|
{
|
||||||
@ -53,7 +46,7 @@ public class ConversionManager
|
|||||||
@Override
|
@Override
|
||||||
public void convert(File in, File out)
|
public void convert(File in, File out)
|
||||||
{
|
{
|
||||||
convertSchematic(in, out);
|
SKConversion.convertSchematic(in, out);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -74,10 +67,11 @@ public class ConversionManager
|
|||||||
@Override
|
@Override
|
||||||
public void convert(File in, File out)
|
public void convert(File in, File out)
|
||||||
{
|
{
|
||||||
convertSchematic(in, out);
|
SKConversion.convertSchematic(in, out);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
});
|
||||||
}, 5);
|
}, 5);
|
||||||
|
|
||||||
converters.add(new Converter()
|
converters.add(new Converter()
|
||||||
@ -110,38 +104,6 @@ public class ConversionManager
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void convertSchematic(File in, File out)
|
|
||||||
{
|
|
||||||
ClipboardFormat format = ClipboardFormats.findByFile(in);
|
|
||||||
try(ClipboardReader reader = format.getReader(new FileInputStream(in)))
|
|
||||||
{
|
|
||||||
Clipboard clipboard = reader.read();
|
|
||||||
BlockVector3 size = clipboard.getMaximumPoint().subtract(clipboard.getMinimumPoint());
|
|
||||||
IrisObject o = new IrisObject(size.getBlockX() + 1, size.getBlockY() + 1, size.getBlockZ() + 1);
|
|
||||||
|
|
||||||
for(int i = clipboard.getMinimumPoint().getBlockX(); i <= clipboard.getMaximumPoint().getBlockX(); i++)
|
|
||||||
{
|
|
||||||
for(int j = clipboard.getMinimumPoint().getBlockY(); j <= clipboard.getMaximumPoint().getBlockY(); j++)
|
|
||||||
{
|
|
||||||
for(int k = clipboard.getMinimumPoint().getBlockZ(); k <= clipboard.getMaximumPoint().getBlockZ(); k++)
|
|
||||||
{
|
|
||||||
o.setUnsigned(i - clipboard.getMinimumPoint().getBlockX(), j - clipboard.getMinimumPoint().getBlockY(), k - clipboard.getMinimumPoint().getBlockZ(), FastBlockData.of(BukkitAdapter.adapt(clipboard.getFullBlock(BlockVector3.at(i, j, k)))));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
o.write(out);
|
|
||||||
}
|
|
||||||
catch(FileNotFoundException e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
catch(IOException e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void check(MortarSender s)
|
public void check(MortarSender s)
|
||||||
{
|
{
|
||||||
int m = 0;
|
int m = 0;
|
||||||
|
49
src/main/java/com/volmit/iris/util/SKConversion.java
Normal file
49
src/main/java/com/volmit/iris/util/SKConversion.java
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import com.sk89q.worldedit.bukkit.BukkitAdapter;
|
||||||
|
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
||||||
|
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormat;
|
||||||
|
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormats;
|
||||||
|
import com.sk89q.worldedit.extent.clipboard.io.ClipboardReader;
|
||||||
|
import com.sk89q.worldedit.math.BlockVector3;
|
||||||
|
import com.volmit.iris.object.IrisObject;
|
||||||
|
|
||||||
|
public class SKConversion
|
||||||
|
{
|
||||||
|
public static void convertSchematic(File in, File out)
|
||||||
|
{
|
||||||
|
ClipboardFormat format = ClipboardFormats.findByFile(in);
|
||||||
|
try(ClipboardReader reader = format.getReader(new FileInputStream(in)))
|
||||||
|
{
|
||||||
|
Clipboard clipboard = reader.read();
|
||||||
|
BlockVector3 size = clipboard.getMaximumPoint().subtract(clipboard.getMinimumPoint());
|
||||||
|
IrisObject o = new IrisObject(size.getBlockX() + 1, size.getBlockY() + 1, size.getBlockZ() + 1);
|
||||||
|
|
||||||
|
for(int i = clipboard.getMinimumPoint().getBlockX(); i <= clipboard.getMaximumPoint().getBlockX(); i++)
|
||||||
|
{
|
||||||
|
for(int j = clipboard.getMinimumPoint().getBlockY(); j <= clipboard.getMaximumPoint().getBlockY(); j++)
|
||||||
|
{
|
||||||
|
for(int k = clipboard.getMinimumPoint().getBlockZ(); k <= clipboard.getMaximumPoint().getBlockZ(); k++)
|
||||||
|
{
|
||||||
|
o.setUnsigned(i - clipboard.getMinimumPoint().getBlockX(), j - clipboard.getMinimumPoint().getBlockY(), k - clipboard.getMinimumPoint().getBlockZ(), FastBlockData.of(BukkitAdapter.adapt(clipboard.getFullBlock(BlockVector3.at(i, j, k)))));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
o.write(out);
|
||||||
|
}
|
||||||
|
catch(FileNotFoundException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
catch(IOException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user