9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2026-01-06 15:51:30 +00:00

Compare commits

...

5 Commits

Author SHA1 Message Date
Brian Fopiano
1cb2ea6c17 Merge pull request #829 from VolmitSoftware/Development
Development
2022-07-16 15:46:30 -07:00
Vatuu
b82edfe688 V+ 2022-07-16 02:55:59 +02:00
Vatuu
6b32eb3441 Added convenience command. 2022-07-16 02:52:06 +02:00
Vatuu
23a07fa8a5 Fixed vines and glow lichen not generating properly. 2022-07-16 02:41:03 +02:00
Vatuu
b019faedd2 Made the creator not error without a sender. 2022-07-15 20:02:26 +02:00
6 changed files with 38 additions and 6 deletions

View File

@@ -24,7 +24,7 @@ plugins {
id "de.undercouch.download" version "5.0.1" id "de.undercouch.download" version "5.0.1"
} }
version '2.2.3-1.19' // Needs to be version specific version '2.2.4-1.19' // Needs to be version specific
def nmsVersion = "1.19" def nmsVersion = "1.19"
def apiVersion = '1.19' def apiVersion = '1.19'
def spigotJarVersion = '1.19-R0.1-SNAPSHOT' def spigotJarVersion = '1.19-R0.1-SNAPSHOT'

View File

@@ -45,7 +45,7 @@ import java.io.File;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future; import java.util.concurrent.Future;
@Decree(name = "iris", aliases = {"ir", "irs"}, description = "Basic Command") @Decree(name = "iris", aliases = {"ir", "irs", "i"}, description = "Basic Command")
public class CommandIris implements DecreeExecutor { public class CommandIris implements DecreeExecutor {
private CommandStudio studio; private CommandStudio studio;
private CommandPregen pregen; private CommandPregen pregen;
@@ -107,6 +107,12 @@ public class CommandIris implements DecreeExecutor {
sender().sendMessage(C.GREEN + "Total Height: " + (sender().player().getWorld().getMaxHeight() - sender().player().getWorld().getMinHeight())); sender().sendMessage(C.GREEN + "Total Height: " + (sender().player().getWorld().getMaxHeight() - sender().player().getWorld().getMinHeight()));
} }
@Decree(description = "QOL command to open a overworld studio world.")
public void so() {
sender().sendMessage(C.GREEN + "Opening studio for the \"Overworld\" pack (seed: 1337)");
Iris.service(StudioSVC.class).open(sender(), 1337, "overworld");
}
@Decree(description = "Set aura spins") @Decree(description = "Set aura spins")
public void aura( public void aura(
@Param(description = "The h color value", defaultValue = "-20") @Param(description = "The h color value", defaultValue = "-20")

View File

@@ -105,6 +105,9 @@ public class IrisCreator {
throw new IrisException("Dimension cannot be found null for id " + dimension()); throw new IrisException("Dimension cannot be found null for id " + dimension());
} }
if(sender == null)
sender = Iris.getSender();
if(!studio()) { if(!studio()) {
Iris.service(StudioSVC.class).installIntoWorld(sender, d.getLoadKey(), new File(name())); Iris.service(StudioSVC.class).installIntoWorld(sender, d.getLoadKey(), new File(name()));
} }

View File

@@ -28,6 +28,7 @@ import com.volmit.iris.util.hunk.Hunk;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.BlockFace; import org.bukkit.block.BlockFace;
import org.bukkit.block.data.BlockData; import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.MultipleFacing;
import org.bukkit.block.data.type.PointedDripstone; import org.bukkit.block.data.type.PointedDripstone;
public class IrisCeilingDecorator extends IrisEngineDecorator { public class IrisCeilingDecorator extends IrisEngineDecorator {
@@ -39,11 +40,10 @@ public class IrisCeilingDecorator extends IrisEngineDecorator {
@Override @Override
public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk<BlockData> data, IrisBiome biome, int height, int max) { public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk<BlockData> data, IrisBiome biome, int height, int max) {
IrisDecorator decorator = getDecorator(biome, realX, realZ); IrisDecorator decorator = getDecorator(biome, realX, realZ);
if(decorator != null) { if(decorator != null) {
if(!decorator.isStacking()) { if(!decorator.isStacking()) {
if(height >= 0 || height < getEngine().getHeight()) { if(height >= 0 || height < getEngine().getHeight()) {
data.set(x, height, z, decorator.getBlockData100(biome, getRng(), realX, height, realZ, getData())); data.set(x, height, z, fixFaces(decorator.getBlockData100(biome, getRng(), realX, height, realZ, getData()), realX, height, realZ));
} }
} else { } else {
int stack = decorator.getHeight(getRng().nextParallelRNG(Cache.key(realX, realZ)), realX, realZ, getData()); int stack = decorator.getHeight(getRng().nextParallelRNG(Cache.key(realX, realZ)), realX, realZ, getData());
@@ -98,4 +98,25 @@ public class IrisCeilingDecorator extends IrisEngineDecorator {
} }
} }
} }
private BlockData fixFaces(BlockData b, int x, int y, int z) {
Material mat = b.getMaterial();
if(mat == Material.VINE || mat == Material.GLOW_LICHEN) {
MultipleFacing data = (MultipleFacing)b.clone();
boolean found = false;
for(BlockFace f : BlockFace.values()) {
if(!f.isCartesian())
continue;
Material m = getEngine().getMantle().get(x, y, z).getMaterial();
if(m.isSolid()) {
found = true;
data.setFace(f, m.isSolid());
}
}
if(!found)
data.setFace(BlockFace.UP, true);
return data;
}
return b;
}
} }

View File

@@ -199,7 +199,9 @@ public class B {
STONE_BUTTON, STONE_BUTTON,
WARPED_BUTTON, WARPED_BUTTON,
TORCH, TORCH,
SOUL_TORCH SOUL_TORCH,
GLOW_LICHEN,
VINE
}).forEach((i) -> b.add(i.ordinal())); }).forEach((i) -> b.add(i.ordinal()));
b.addAll(foliageCache); b.addAll(foliageCache);

View File

@@ -19,7 +19,7 @@ libraries:
- bsf:bsf:2.4.0 - bsf:bsf:2.4.0
commands: commands:
iris: iris:
aliases: [ ir, irs ] aliases: [ ir, irs, i ]
api-version: ${apiversion} api-version: ${apiversion}
hotload-dependencies: false hotload-dependencies: false
softdepend: [ "Oraxen", "ItemsAdder", "IrisFeller", "WorldEdit", "PlaceholderAPI"] softdepend: [ "Oraxen", "ItemsAdder", "IrisFeller", "WorldEdit", "PlaceholderAPI"]