Added specific font sizes

This commit is contained in:
DidlDimpfe committed 2023-06-29 16:46:12 +02:00
1 parent cc89e220ed
commit 2c1af6de22
11 files changed
+1279 -1184

No files matched your search

@@ -23,7 +23,7 @@ public class CurrentEditedText {
private TextInstance textInstance;
private final ArrayList<BukkitTask> dragToMoveTasks;
private final ArrayList<Location> currentlyPreviewedBlocks;
private boolean[][] blocks;
private String[][] blocks;
private FastBlockUpdate blockBuilder;
private int toUpdateBlocks;
@@ -82,7 +82,7 @@ public class CurrentEditedText {
for (int heightIndex = 0; heightIndex < blocks.length; heightIndex++) {
for (int widthIndex = 0; widthIndex < blocks[0].length; widthIndex++) {
try {
if (!blocks[heightIndex][widthIndex]) {
if (blocks[heightIndex][widthIndex] == null) {
continue;
}
Location hereIsBlockLocation = GenerateUtil.editLocation(textInstance,
@@ -145,6 +145,9 @@ public class CurrentEditedText {
Direction playerWantsTextToBeDirection = Direction.valueOf(player.getFacing().toString()).getRightDirection();
if (textInstance.getDirection() != playerWantsTextToBeDirection) {
textInstance.setDirection(playerWantsTextToBeDirection);
if (textInstance.getFontSize() < 9) {
updateBlockArray();
}
}
textInstance.setMiddleLocation(newMiddleLocation);
updateBlocksInWorld();
@@ -188,13 +191,13 @@ public class CurrentEditedText {
for (int heightIndex = 0; heightIndex < blocks.length; heightIndex++) {
for (int widthIndex = 0; widthIndex < blocks[0].length; widthIndex++) {
try {
if (!blocks[heightIndex][widthIndex]) {
if (blocks[heightIndex][widthIndex] == null) {
continue;
}
Location toPlaceBlockLocation = GenerateUtil.editLocation(textInstance,
textInstance.getTopLeftLocation(), widthIndex, heightIndex, 0, 0, 0, 0);
blockBuilder.addBlock(toPlaceBlockLocation,
Bukkit.createBlockData(textInstance.getBlock().toString().toLowerCase()));
Bukkit.createBlockData(blocks[heightIndex][widthIndex]));
currentlyPreviewedBlocks.add(toPlaceBlockLocation);
} catch (IndexOutOfBoundsException ignored) {
}
@@ -400,6 +403,7 @@ public class CurrentEditedText {
public void setBlock(de.philw.textgenerator.ui.value.Block block) {
this.textInstance.setBlock(block);
updateBlockArray();
updateBlocksInWorld();
}
@@ -1,119 +0,0 @@
package de.philw.textgenerator.letters.specificFontSize;
import de.philw.textgenerator.ui.value.Block;
import de.philw.textgenerator.utils.Direction;
public abstract class Letters {
public abstract String[][] getA(Block block, Direction rightDirection);
public abstract String[][] getB(Block block, Direction rightDirection);
public abstract String[][] getC(Block block, Direction rightDirection);
public abstract String[][] getD(Block block, Direction rightDirection);
public abstract String[][] getE(Block block, Direction rightDirection);
public abstract String[][] getF(Block block, Direction rightDirection);
public abstract String[][] getG(Block block, Direction rightDirection);
public abstract String[][] getH(Block block, Direction rightDirection);
public abstract String[][] getI(Block block, Direction rightDirection);
public abstract String[][] getJ(Block block, Direction rightDirection);
public abstract String[][] getK(Block block, Direction rightDirection);
public abstract String[][] getL(Block block, Direction rightDirection);
public abstract String[][] getM(Block block, Direction rightDirection);
public abstract String[][] getN(Block block, Direction rightDirection);
public abstract String[][] getO(Block block, Direction rightDirection);
public abstract String[][] getP(Block block, Direction rightDirection);
public abstract String[][] getQ(Block block, Direction rightDirection);
public abstract String[][] getR(Block block, Direction rightDirection);
public abstract String[][] getS(Block block, Direction rightDirection);
public abstract String[][] getT(Block block, Direction rightDirection);
public abstract String[][] getU(Block block, Direction rightDirection);
public abstract String[][] getV(Block block, Direction rightDirection);
public abstract String[][] getW(Block block, Direction rightDirection);
public abstract String[][] getX(Block block, Direction rightDirection);
public abstract String[][] getY(Block block, Direction rightDirection);
public abstract String[][] getZ(Block block, Direction rightDirection);
public abstract String[][] get1(Block block, Direction rightDirection);
public abstract String[][] get2(Block block, Direction rightDirection);
public abstract String[][] get3(Block block, Direction rightDirection);
public abstract String[][] get4(Block block, Direction rightDirection);
public abstract String[][] get5(Block block, Direction rightDirection);
public abstract String[][] get6(Block block, Direction rightDirection);
public abstract String[][] get7(Block block, Direction rightDirection);
public abstract String[][] get8(Block block, Direction rightDirection);
public abstract String[][] get9(Block block, Direction rightDirection);
protected String getRightTopNothingStair(Block block, Direction rightDirection) {
return "minecraft:" + block.toString().toLowerCase() + "_stairs[facing=" +
rightDirection.getOppositeDirection().toString().toLowerCase().split("_")[0] + ",half=bottom," +
"shape=straight," +
"waterlogged=false]";
}
protected String getRightBottomNothingStair(Block block, Direction rightDirection) {
return "minecraft:" + block.toString().toLowerCase() + "_stairs[facing=" +
rightDirection.getOppositeDirection().toString().toLowerCase().split("_")[0] + ",half=top," +
"shape=straight," +
"waterlogged=false]";
}
protected String getLeftTopNothingStair(Block block, Direction rightDirection) {
return "minecraft:" + block.toString().toLowerCase() + "_stairs[facing=" +
rightDirection.toString().toLowerCase().split("_")[0] + ",half=bottom,shape=straight," +
"waterlogged=false]";
}
protected String getLeftBottomNothingStair(Block block, Direction rightDirection) {
return "minecraft:" + block.toString().toLowerCase() + "_stairs[facing=" +
rightDirection.toString().toLowerCase().split("_")[0] + ",half=top,shape=straight,waterlogged=false]";
}
protected String getBottomSlap(Block block) {
return "minecraft:" + block.toString().toLowerCase().split("_")[0] + "_slab[type=bottom,waterlogged=false]";
}
protected String getTopSlap(Block block) {
return "minecraft:" + block.toString().toLowerCase().split("_")[0] + "_slab[type=top,waterlogged=false]";
}
protected String getNormalBlock(Block block) {
return "minecraft:" + block.toString().toLowerCase();
}
protected String getAir() {
return "minecraft:air";
}
}
@@ -1,72 +0,0 @@
package de.philw.textgenerator.letters.specificFontSize;
import de.philw.textgenerator.utils.Direction;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.data.BlockData;
import java.util.HashMap;
import java.util.Objects;
public class LettersBuilder {
// public static void build(String[][] letterData, Direction rightDirection, Location startLocation) { First build
// method
// int length = letterData.length;
// int height = letterData[0].length;
//
// World world = startLocation.getWorld();
//
// for (int lengthIndex = 0; lengthIndex < length; lengthIndex++) {
// for (int heightIndex = 0; heightIndex < height; heightIndex++) {
// BlockData blockData = Bukkit.createBlockData(letterData[lengthIndex][heightIndex]);
// Block block = null;
// if (rightDirection == Direction.NORTH) {
// block = Objects.requireNonNull(world).getBlockAt(startLocation.clone().add(0, heightIndex, 0)
// .subtract(0, 0, lengthIndex));
// } else if (rightDirection == Direction.EAST) {
// block = Objects.requireNonNull(world).getBlockAt(startLocation.clone().add(lengthIndex,
// heightIndex, 0));
// } else if (rightDirection == Direction.SOUTH) {
// block = Objects.requireNonNull(world).getBlockAt(startLocation.clone().add(0, heightIndex,
// lengthIndex));
// } else if (rightDirection == Direction.WEST){
// block = Objects.requireNonNull(world).getBlockAt(startLocation.clone().add(0, heightIndex, 0)
// .subtract(lengthIndex, 0, 0));
// }
// Objects.requireNonNull(block).setBlockData(blockData);
// }
// }
// }
public static void build(String[][] letterData, Direction rightDirection, Location startLocation,
HashMap<Location, BlockData> oldBlocks) {
int length = letterData.length;
int height = letterData[0].length;
World world = startLocation.getWorld();
for (int lengthIndex = 0; lengthIndex < length; lengthIndex++) {
for (int downIndex = 0; downIndex < height; downIndex++) {
BlockData blockData = Bukkit.createBlockData(letterData[lengthIndex][height - 1 - downIndex]);
Block block = null;
if (rightDirection == Direction.NORTH) {
block = Objects.requireNonNull(world).getBlockAt(startLocation.clone().subtract(0, downIndex,
lengthIndex));
} else if (rightDirection == Direction.EAST) {
block = Objects.requireNonNull(world).getBlockAt(startLocation.clone().add(lengthIndex, 0, 0).subtract(0, downIndex, 0));
} else if (rightDirection == Direction.SOUTH) {
block = Objects.requireNonNull(world).getBlockAt(startLocation.clone().add(0, 0, lengthIndex).subtract(0, downIndex, 0));
} else if (rightDirection == Direction.WEST) {
block = Objects.requireNonNull(world).getBlockAt(startLocation.clone().subtract(lengthIndex,
downIndex, 0));
}
oldBlocks.put(Objects.requireNonNull(block).getLocation(), block.getBlockData());
Objects.requireNonNull(block).setBlockData(blockData);
}
}
}
}
@@ -0,0 +1,605 @@
package de.philw.textgenerator.letters.specificFontSize;
import de.philw.textgenerator.ui.value.Block;
import de.philw.textgenerator.utils.Direction;
public class SizeSeven extends SpecificFontSize {
// 3x3
@Override
public String[][] getA(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = null;
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getNormalBlock(block);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getB(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getRightTopNothingStair(block, direction);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getC(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = null;
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = null;
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getD(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = null;
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getE(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getBottomSlap(block);
blockDataStrings[1][2] = null;
blockDataStrings[0][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getF(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = null;
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = null;
blockDataStrings[1][2] = null;
blockDataStrings[0][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getG(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = null;
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getLeftTopNothingStair(block, direction);
blockDataStrings[1][2] = getBottomSlap(block);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getH(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = null;
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = null;
blockDataStrings[2][2] = getNormalBlock(block);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getI(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getBottomSlap(block);
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getTopSlap(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[2][2] = getBottomSlap(block);
blockDataStrings[1][2] = null;
blockDataStrings[0][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getJ(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = null;
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = null;
blockDataStrings[0][1] = null;
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getK(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = null;
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = null;
blockDataStrings[2][2] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][2] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getL(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = null;
blockDataStrings[0][1] = null;
blockDataStrings[2][2] = getBottomSlap(block);
blockDataStrings[1][2] = null;
blockDataStrings[0][2] = null;
return blockDataStrings;
}
@Override
public String[][] getM(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[2][1] = null;
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = null;
blockDataStrings[2][2] = getNormalBlock(block);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getN(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[2][1] = null;
blockDataStrings[1][1] = getRightTopNothingStair(block, direction);
blockDataStrings[0][1] = null;
blockDataStrings[2][2] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getO(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = null;
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getP(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = null;
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = null;
blockDataStrings[1][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getQ(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = getLeftTopNothingStair(block, direction);
blockDataStrings[1][1] = null;
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getNormalBlock(block);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getR(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = null;
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightTopNothingStair(block, direction);
blockDataStrings[1][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getS(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getBottomSlap(block);
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getRightTopNothingStair(block, direction);
blockDataStrings[0][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getT(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = null;
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getTopSlap(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[2][2] = null;
blockDataStrings[1][2] = null;
blockDataStrings[0][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getU(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[1][1] = null;
blockDataStrings[0][1] = null;
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getV(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = null;
blockDataStrings[1][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = null;
blockDataStrings[2][2] = null;
blockDataStrings[1][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getW(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = null;
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = null;
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getX(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[2][1] = getTopSlap(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getBottomSlap(block);
blockDataStrings[2][2] = getRightTopNothingStair(block, direction);
blockDataStrings[1][2] = null;
blockDataStrings[0][2] = getRightBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getY(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = null;
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getBottomSlap(block);
blockDataStrings[2][2] = null;
blockDataStrings[1][2] = null;
blockDataStrings[0][2] = getRightBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getZ(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getTopSlap(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[1][1] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getBottomSlap(block);
blockDataStrings[1][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] get1(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getBottomSlap(block);
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getBottomSlap(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[2][2] = getBottomSlap(block);
blockDataStrings[1][2] = null;
blockDataStrings[0][2] = null;
return blockDataStrings;
}
@Override
public String[][] get2(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getBottomSlap(block);
blockDataStrings[1][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get3(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getTopSlap(block);
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getRightTopNothingStair(block, direction);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get4(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = null;
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = null;
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = null;
blockDataStrings[2][2] = getNormalBlock(block);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] get5(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][0] = getTopSlap(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getRightTopNothingStair(block, direction);
blockDataStrings[0][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] get6(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getRightTopNothingStair(block, direction);
blockDataStrings[0][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] get7(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = null;
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getTopSlap(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[1][1] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = null;
blockDataStrings[1][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] get8(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getRightTopNothingStair(block, direction);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get9(Block block, Direction direction) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[2][0] = getBottomSlap(block);
blockDataStrings[1][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[2][2] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[0][2] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
}
@@ -3,420 +3,422 @@ package de.philw.textgenerator.letters.specificFontSize;
import de.philw.textgenerator.ui.value.Block;
import de.philw.textgenerator.utils.Direction;
public class TwoByTwoLetters extends Letters {
public class SizeSix extends SpecificFontSize {
public String[][] getA(Block block, Direction rightDirection) {
// 2x2
public String[][] getA(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[1][1] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][1] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][1] = getLeftBottomNothingStair(block, direction);
return blockDataStrings;
}
public String[][] getB(Block block, Direction rightDirection) {
public String[][] getB(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][0] = getRightTopNothingStair(block, direction);
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[1][1] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][1] = getBottomSlap(block);
return blockDataStrings;
}
public String[][] getC(Block block, Direction rightDirection) {
public String[][] getC(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
return blockDataStrings;
}
public String[][] getD(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][1] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
public String[][] getE(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getLeftBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getF(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[1][0] = getTopSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getG(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getH(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getI(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getRightBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getJ(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getAir();
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
return blockDataStrings;
}
public String[][] getD(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getRightTopNothingStair(block, direction);
blockDataStrings[0][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][1] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][1] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
public String[][] getE(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[1][1] = getRightTopNothingStair(block, direction);
blockDataStrings[0][1] = getLeftBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getF(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getG(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getRightTopNothingStair(block, direction);
blockDataStrings[0][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][1] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][1] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getH(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[1][1] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][1] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getI(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][1] = getRightTopNothingStair(block, direction);
blockDataStrings[0][1] = getRightBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getJ(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getRightTopNothingStair(block, direction);
blockDataStrings[0][0] = null;
blockDataStrings[1][1] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getK(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getL(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getAir();
return blockDataStrings;
}
@Override
public String[][] getM(Block block, Direction rightDirection) {
public String[][] getK(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[1][1] = getRightTopNothingStair(block, direction);
blockDataStrings[0][1] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getN(Block block, Direction rightDirection) {
public String[][] getL(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getO(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getLeftBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getP(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[1][0] = getTopSlap(block);
blockDataStrings[1][1] = getLeftBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getQ(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getLeftBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getR(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getLeftBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getS(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][1] = getRightBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getT(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = null;
return blockDataStrings;
}
@Override
public String[][] getU(Block block, Direction rightDirection) {
public String[][] getM(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[1][1] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][1] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getN(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getV(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getW(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getX(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getY(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getBottomSlap(block);
blockDataStrings[0][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getZ(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getRightBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] get1(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getBottomSlap(block);
blockDataStrings[0][1] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getRightBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] get2(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getBottomSlap(block);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[1][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] get3(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getBottomSlap(block);
blockDataStrings[0][1] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][1] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] get4(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getAir();
blockDataStrings[0][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get5(Block block, Direction rightDirection) {
public String[][] getO(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[1][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[1][0] = getRightTopNothingStair(block, direction);
blockDataStrings[0][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][1] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][1] = getLeftBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get6(Block block, Direction rightDirection) {
public String[][] getP(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getBottomSlap(block);
return blockDataStrings;
}
@Override
public String[][] get7(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getAir();
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[0][1] = getLeftBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get8(Block block, Direction rightDirection) {
public String[][] getQ(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getRightTopNothingStair(block, direction);
blockDataStrings[0][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getLeftBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get9(Block block, Direction rightDirection) {
public String[][] getR(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][1] = getRightTopNothingStair(block, direction);
blockDataStrings[0][1] = getLeftBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getS(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[1][1] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][1] = getRightBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getT(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getBottomSlap(block);
return blockDataStrings;
}
@Override
public String[][] getU(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getV(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[1][1] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][1] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getW(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[1][1] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][1] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getX(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][0] = getTopSlap(block);
blockDataStrings[0][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
}
@Override
public String[][] getY(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[1][1] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][1] = getLeftTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] getZ(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][0] = getTopSlap(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[0][1] = getRightBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get1(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[0][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[1][1] = getRightTopNothingStair(block, direction);
blockDataStrings[0][1] = getRightBottomNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get2(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[0][0] = getTopSlap(block);
blockDataStrings[1][1] = getRightTopNothingStair(block, direction);
blockDataStrings[0][1] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get3(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[0][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[1][1] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][1] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get4(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] get5(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[1][1] = getRightBottomNothingStair(block, direction);
blockDataStrings[0][1] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] get6(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getRightTopNothingStair(block, direction);
blockDataStrings[0][0] = getRightTopNothingStair(block, direction);
blockDataStrings[1][1] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][1] = getBottomSlap(block);
return blockDataStrings;
}
@Override
public String[][] get7(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = null;
blockDataStrings[0][0] = getTopSlap(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get8(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getLeftBottomNothingStair(block, direction);
blockDataStrings[0][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][1] = getLeftTopNothingStair(block, direction);
blockDataStrings[0][1] = getRightTopNothingStair(block, direction);
return blockDataStrings;
}
@Override
public String[][] get9(Block block, Direction direction) {
String[][] blockDataStrings = new String[2][2];
blockDataStrings[1][0] = getTopSlap(block);
blockDataStrings[0][0] = getRightBottomNothingStair(block, direction);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
return blockDataStrings;
}
}
@@ -0,0 +1,124 @@
package de.philw.textgenerator.letters.specificFontSize;
import de.philw.textgenerator.ui.value.Block;
import de.philw.textgenerator.utils.Direction;
public abstract class SpecificFontSize {
public static SpecificFontSize getClassFromFontSize(int fontSize) {
if (fontSize == 6) {
return new SizeSix();
} else if (fontSize == 7) {
return new SizeSeven();
}
return null;
}
public abstract String[][] getA(Block block, Direction direction);
public abstract String[][] getB(Block block, Direction direction);
public abstract String[][] getC(Block block, Direction direction);
public abstract String[][] getD(Block block, Direction direction);
public abstract String[][] getE(Block block, Direction direction);
public abstract String[][] getF(Block block, Direction direction);
public abstract String[][] getG(Block block, Direction direction);
public abstract String[][] getH(Block block, Direction direction);
public abstract String[][] getI(Block block, Direction direction);
public abstract String[][] getJ(Block block, Direction direction);
public abstract String[][] getK(Block block, Direction direction);
public abstract String[][] getL(Block block, Direction direction);
public abstract String[][] getM(Block block, Direction direction);
public abstract String[][] getN(Block block, Direction direction);
public abstract String[][] getO(Block block, Direction direction);
public abstract String[][] getP(Block block, Direction direction);
public abstract String[][] getQ(Block block, Direction direction);
public abstract String[][] getR(Block block, Direction direction);
public abstract String[][] getS(Block block, Direction direction);
public abstract String[][] getT(Block block, Direction direction);
public abstract String[][] getU(Block block, Direction direction);
public abstract String[][] getV(Block block, Direction direction);
public abstract String[][] getW(Block block, Direction direction);
public abstract String[][] getX(Block block, Direction direction);
public abstract String[][] getY(Block block, Direction direction);
public abstract String[][] getZ(Block block, Direction direction);
public abstract String[][] get1(Block block, Direction direction);
public abstract String[][] get2(Block block, Direction direction);
public abstract String[][] get3(Block block, Direction direction);
public abstract String[][] get4(Block block, Direction direction);
public abstract String[][] get5(Block block, Direction direction);
public abstract String[][] get6(Block block, Direction direction);
public abstract String[][] get7(Block block, Direction direction);
public abstract String[][] get8(Block block, Direction direction);
public abstract String[][] get9(Block block, Direction direction);
protected String getRightTopNothingStair(Block block, Direction direction) {
return "minecraft:" + block.getSlabAndStairsID().get(1).toLowerCase() + "[facing=" +
direction.getOppositeDirection().toString().toLowerCase().split("_")[0] + ",half=bottom," +
"shape=straight," +
"waterlogged=false]";
}
protected String getRightBottomNothingStair(Block block, Direction direction) {
return "minecraft:" + block.getSlabAndStairsID().get(1).toLowerCase() + "[facing=" +
direction.getOppositeDirection().toString().toLowerCase().split("_")[0] + ",half=top," +
"shape=straight," +
"waterlogged=false]";
}
protected String getLeftTopNothingStair(Block block, Direction direction) {
return "minecraft:" + block.getSlabAndStairsID().get(1).toLowerCase() + "[facing=" +
direction.toString().toLowerCase().split("_")[0] + ",half=bottom,shape=straight," +
"waterlogged=false]";
}
protected String getLeftBottomNothingStair(Block block, Direction direction) {
return "minecraft:" + block.getSlabAndStairsID().get(1).toLowerCase() + "[facing=" +
direction.toString().toLowerCase().split("_")[0] + ",half=top,shape=straight,waterlogged=false]";
}
protected String getBottomSlap(Block block) {
return "minecraft:" + block.getSlabAndStairsID().get(0).toLowerCase() + "[type=bottom,waterlogged=false]";
}
protected String getTopSlap(Block block) {
return "minecraft:" + block.getSlabAndStairsID().get(0).toLowerCase() + "[type=top,waterlogged=false]";
}
protected String getNormalBlock(Block block) {
return "minecraft:" + block.toString().toLowerCase();
}
}
@@ -1,604 +0,0 @@
package de.philw.textgenerator.letters.specificFontSize;
import de.philw.textgenerator.ui.value.Block;
import de.philw.textgenerator.utils.Direction;
public class ThreeByThreeLetters extends Letters {
@Override
public String[][] getA(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getAir();
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getB(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getC(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getAir();
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getAir();
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getD(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getAir();
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getE(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getBottomSlap(block);
blockDataStrings[2][1] = getAir();
blockDataStrings[2][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getF(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getAir();
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getAir();
blockDataStrings[2][1] = getAir();
blockDataStrings[2][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getG(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getAir();
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[2][1] = getBottomSlap(block);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getH(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getAir();
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][2] = getAir();
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getI(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getBottomSlap(block);
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getTopSlap(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[2][0] = getBottomSlap(block);
blockDataStrings[2][1] = getAir();
blockDataStrings[2][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getJ(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getAir();
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getAir();
blockDataStrings[1][2] = getAir();
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getK(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getAir();
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[1][2] = getAir();
blockDataStrings[2][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][2] = getLeftTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getL(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getAir();
blockDataStrings[1][2] = getAir();
blockDataStrings[2][0] = getBottomSlap(block);
blockDataStrings[2][1] = getAir();
blockDataStrings[2][2] = getAir();
return blockDataStrings;
}
@Override
public String[][] getM(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getAir();
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[1][2] = getAir();
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getLeftTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getN(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getAir();
blockDataStrings[1][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[1][2] = getAir();
blockDataStrings[2][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getO(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getAir();
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getP(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getAir();
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getAir();
blockDataStrings[2][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getQ(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][1] = getAir();
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getR(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getNormalBlock(block);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getAir();
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[2][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getS(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getBottomSlap(block);
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[2][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getT(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getAir();
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getTopSlap(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[2][0] = getAir();
blockDataStrings[2][1] = getAir();
blockDataStrings[2][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] getU(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getAir();
blockDataStrings[1][2] = getAir();
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getV(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getAir();
blockDataStrings[0][1] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][2] = getAir();
blockDataStrings[2][0] = getAir();
blockDataStrings[2][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getW(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getAir();
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[1][2] = getAir();
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] getX(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getTopSlap(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[1][2] = getBottomSlap(block);
blockDataStrings[2][0] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[2][1] = getAir();
blockDataStrings[2][2] = getRightBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getY(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getAir();
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[1][2] = getBottomSlap(block);
blockDataStrings[2][0] = getAir();
blockDataStrings[2][1] = getAir();
blockDataStrings[2][2] = getRightBottomNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] getZ(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getTopSlap(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getBottomSlap(block);
blockDataStrings[2][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] get1(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getBottomSlap(block);
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getBottomSlap(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getNormalBlock(block);
blockDataStrings[1][2] = getNormalBlock(block);
blockDataStrings[2][0] = getBottomSlap(block);
blockDataStrings[2][1] = getAir();
blockDataStrings[2][2] = getAir();
return blockDataStrings;
}
@Override
public String[][] get2(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getBottomSlap(block);
blockDataStrings[2][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] get3(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getTopSlap(block);
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] get4(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getAir();
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getAir();
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][2] = getAir();
blockDataStrings[2][0] = getNormalBlock(block);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] get5(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getTopSlap(block);
blockDataStrings[0][2] = getNormalBlock(block);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[2][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] get6(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getNormalBlock(block);
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[2][2] = getTopSlap(block);
return blockDataStrings;
}
@Override
public String[][] get7(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getAir();
blockDataStrings[0][1] = getAir();
blockDataStrings[0][2] = getTopSlap(block);
blockDataStrings[1][0] = getNormalBlock(block);
blockDataStrings[1][1] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getAir();
blockDataStrings[2][1] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][2] = getNormalBlock(block);
return blockDataStrings;
}
@Override
public String[][] get8(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][1] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getTopSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getRightTopNothingStair(block, rightDirection);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
@Override
public String[][] get9(Block block, Direction rightDirection) {
String[][] blockDataStrings = new String[3][3];
blockDataStrings[0][0] = getBottomSlap(block);
blockDataStrings[0][1] = getLeftBottomNothingStair(block, rightDirection);
blockDataStrings[0][2] = getLeftTopNothingStair(block, rightDirection);
blockDataStrings[1][0] = getBottomSlap(block);
blockDataStrings[1][1] = getBottomSlap(block);
blockDataStrings[1][2] = getTopSlap(block);
blockDataStrings[2][0] = getRightBottomNothingStair(block, rightDirection);
blockDataStrings[2][1] = getNormalBlock(block);
blockDataStrings[2][2] = getRightTopNothingStair(block, rightDirection);
return blockDataStrings;
}
}
@@ -102,28 +102,28 @@ public class ConfigManager {
}
public static int getPlaceRange() {
String placeRange = config.getString("textSettings.placeRange");
String placeRange = config.getString("placeRange");
if (!Validator.isValidPlaceRange(placeRange)) {
printNotValidMessage(placeRange, String.valueOf(Objects.requireNonNull(config.getDefaults()).getInt(
"textSettings.placeRange")), "place range");
return config.getDefaults().getInt("textSettings.placeRange");
"placeRange")), "place range");
return config.getDefaults().getInt("placeRange");
}
return Integer.parseInt(Objects.requireNonNull(placeRange));
}
public static boolean isDragToMove(boolean printNotValidMessage) {
String dragToMove = config.getString("textSettings.dragToMove");
String dragToMove = config.getString("dragToMove");
if (Validator.isNoValidBoolean(Objects.requireNonNull(dragToMove))) {
if (printNotValidMessage)
printNotValidMessage(dragToMove, String.valueOf(Objects.requireNonNull(config.getDefaults()).getInt(
"textSettings.dragToMove")), "drag to move");
return Objects.requireNonNull(config.getDefaults()).getBoolean("textSettings.dragToMove");
"dragToMove")), "drag to move");
return Objects.requireNonNull(config.getDefaults()).getBoolean("dragToMove");
}
return Boolean.parseBoolean(dragToMove.toLowerCase());
}
public static void setDragToMove(boolean dragToMove) {
config.set("textSettings.dragToMove", dragToMove);
config.set("dragToMove", dragToMove);
saveConfig();
}
@@ -168,15 +168,15 @@ public class ConfigManager {
config.set("textSettings.lineSpacing", Objects.requireNonNull(config.getDefaults()).get(
"textSettings.lineSpacing"));
}
if (!config.isSet("textSettings.placeRange")) {
config.set("textSettings.placeRange", Objects.requireNonNull(config.getDefaults()).get(
"textSettings.placeRange"));
if (!config.isSet("placeRange")) {
config.set("placeRange", Objects.requireNonNull(config.getDefaults()).get(
"placeRange"));
}
if (!config.isSet("textSettings.dragToMove")) {
config.set("textSettings.dragToMove", Objects.requireNonNull(config.getDefaults()).get(
"textSettings.dragToMove"));
if (!config.isSet("dragToMove")) {
config.set("dragToMove", Objects.requireNonNull(config.getDefaults()).get(
"dragToMove"));
}
saveConfig();
}
}
}
@@ -336,4 +336,8 @@ public enum Block {
return slabAndStairsID;
}
public String getNormalBlock() {
return "minecraft:" + toString().toLowerCase();
}
}
@@ -1,6 +1,7 @@
package de.philw.textgenerator.utils;
import de.philw.textgenerator.letters.CurrentEditedText;
import de.philw.textgenerator.letters.specificFontSize.SpecificFontSize;
import de.philw.textgenerator.manager.ConfigManager;
import de.philw.textgenerator.manager.GeneratedTextsManager;
import org.bukkit.Location;
@@ -56,27 +57,26 @@ public class GenerateUtil {
return linesAsBufferedImages;
}
public static boolean[][] getBlocks(TextInstance textInstance) {
public static String[][] getBlocks(TextInstance textInstance) {
if (textInstance.getFontSize() < 9) {
return getBlocksFromSpecificFontSize(textInstance);
}
ArrayList<BufferedImage> linesAsBufferedImages = stringToBufferedImages(textInstance);
ArrayList<boolean[][]> lines = new ArrayList<>();
ArrayList<String[][]> lines = new ArrayList<>();
// find out the biggest width
int width = 0;
for (BufferedImage bufferedImage : linesAsBufferedImages) {
if (bufferedImage.getWidth() > width) width = bufferedImage.getWidth();
}
boolean[][] biggest = null;
// loop through all linesAsBufferedImages, make 2D-Boolean arrays out of it (what block has to be placed and
// what not)
String[][] biggest = null;
// loop through all linesAsBufferedImages, make 2D-String arrays out of it (If block should be placed, then what block data)
// and reduce them
for (BufferedImage bufferedImage : linesAsBufferedImages) {
boolean[][] tempLine = new boolean[bufferedImage.getHeight()][width];
String[][] tempLine = new String[bufferedImage.getHeight()][width];
for (int heightIndex = 0; heightIndex < bufferedImage.getHeight(); heightIndex++) {
for (int widthIndex = 0; widthIndex < bufferedImage.getWidth(); widthIndex++) {
int rgb = bufferedImage.getRGB(widthIndex, heightIndex);
tempLine[heightIndex][widthIndex] = rgb != -1;
tempLine[heightIndex][widthIndex] = rgb != -1 ? textInstance.getBlock().getNormalBlock() : null;
}
}
int alreadyRemoved = 0;
@@ -94,28 +94,28 @@ public class GenerateUtil {
}
lines.add(tempLine);
}
// make all 2D-Boolean arrays the same width
// make all 2D-String arrays the same width
for (int arrayIndex = 0; arrayIndex < lines.size(); arrayIndex++) {
boolean[][] oldLine = lines.get(arrayIndex);
String[][] oldLine = lines.get(arrayIndex);
if (oldLine == biggest) continue;
boolean[][] doneLine = new boolean[oldLine.length][width];
String[][] doneLine = new String[oldLine.length][width];
for (int column = 0; column < oldLine.length; column++) {
System.arraycopy(oldLine[column], 0, doneLine[column], 0, oldLine[0].length);
}
lines.set(arrayIndex, doneLine);
}
// merge the 2D-Boolean arrays to a big 2D-Boolean considering the in the textInstance given
// merge the 2D-Boolean arrays to a big 2D-String considering the in the textInstance given
// spaceBetweenEachLine
int height = 0;
int spaceBetweenEachLine = textInstance.getLineSpacing();
for (boolean[][] doneLine : lines) {
for (String[][] doneLine : lines) {
height += doneLine.length + spaceBetweenEachLine;
}
height -= spaceBetweenEachLine;
boolean[][] blocks = new boolean[height][width];
String[][] blocks = new String[height][width];
int currentLineIndexCount = 0;
for (boolean[][] doneLine : lines) {
for (boolean[] booleans : doneLine) {
for (String[][] doneLine : lines) {
for (String[] booleans : doneLine) {
blocks[currentLineIndexCount] = booleans;
currentLineIndexCount++;
}
@@ -124,7 +124,7 @@ public class GenerateUtil {
return blocks;
}
private static ArrayList<Integer> getToRemoveColumns(boolean[][] blocks) {
private static ArrayList<Integer> getToRemoveColumns(String[][] blocks) {
ArrayList<Integer> toRemoveColumns = new ArrayList<>();
// from top to bottom
@@ -132,7 +132,7 @@ public class GenerateUtil {
for (int column = 0; column < blocks.length; column++) {
boolean reduce = true;
for (int row = 0; row < blocks[0].length; row++) {
if (blocks[column][row]) {
if (blocks[column][row] != null) {
reduce = false;
break;
}
@@ -149,7 +149,7 @@ public class GenerateUtil {
for (int column = blocks.length - 1; column >= 0; column--) {
boolean reduce = true;
for (int row = 0; row < blocks[0].length; row++) {
if (blocks[column][row]) {
if (blocks[column][row] != null) {
reduce = false;
break;
}
@@ -164,15 +164,15 @@ public class GenerateUtil {
return toRemoveColumns;
}
private static ArrayList<Integer> getToRemoveRows(boolean[][] blocks) {
private static ArrayList<Integer> getToRemoveRows(String[][] blocks) {
ArrayList<Integer> toRemoveRows = new ArrayList<>();
// from left to right
boolean start = true;
for (int row = 0; row < blocks[0].length; row++) {
boolean reduce = true;
for (boolean[] block : blocks) {
if (block[row]) {
for (String[] block : blocks) {
if (block[row] != null) {
reduce = false;
break;
}
@@ -188,8 +188,8 @@ public class GenerateUtil {
start = true;
for (int row = blocks[0].length - 1; row >= 0; row--) {
boolean reduce = true;
for (boolean[] block : blocks) {
if (block[row]) {
for (String[] block : blocks) {
if (block[row] != null) {
reduce = false;
break;
}
@@ -204,16 +204,16 @@ public class GenerateUtil {
return toRemoveRows;
}
private static boolean[][] removeColumn(boolean[][] blocks, int columnIndex) {
boolean[][] newBlocks = new boolean[blocks.length - 1][];
private static String[][] removeColumn(String[][] blocks, int columnIndex) {
String[][] newBlocks = new String[blocks.length - 1][];
System.arraycopy(blocks, 0, newBlocks, 0, columnIndex);
System.arraycopy(blocks, columnIndex + 1, newBlocks, columnIndex, blocks.length - columnIndex - 1);
return newBlocks;
}
private static void removeRow(boolean[][] blocks, int rowIndex) {
private static void removeRow(String[][] blocks, int rowIndex) {
for (int columnIndex = 0; columnIndex < blocks.length; columnIndex++) {
boolean[] row = new boolean[blocks[columnIndex].length - 1];
String[] row = new String[blocks[columnIndex].length - 1];
System.arraycopy(blocks[columnIndex], 0, row, 0, rowIndex);
System.arraycopy(blocks[columnIndex], rowIndex + 1, row, rowIndex,
blocks[columnIndex].length - rowIndex - 1);
@@ -273,4 +273,155 @@ public class GenerateUtil {
return null;
}
private static String[][] getBlocksFromSpecificFontSize(TextInstance textInstance) {
SpecificFontSize specificFontSize = SpecificFontSize.getClassFromFontSize(textInstance.getFontSize());
String[] linesAsNormalText = textInstance.getText().split("\\\\n");
ArrayList<String[][]> lines = new ArrayList<>();
for (String line: linesAsNormalText) {
lines.add(getLine(textInstance, line, specificFontSize));
}
// find out the biggest width
int width = 0;
String[][] biggest = null;
for (String[][] line: lines) {
if (line[0].length > width) {
width = line[0].length;
biggest = line;
}
}
// make all 2D-String arrays the same width
for (int arrayIndex = 0; arrayIndex < lines.size(); arrayIndex++) {
String[][] oldLine = lines.get(arrayIndex);
if (oldLine == biggest) continue;
String[][] doneLine = new String[oldLine.length][width];
for (int column = 0; column < oldLine.length; column++) {
System.arraycopy(oldLine[column], 0, doneLine[column], 0, oldLine[0].length);
}
lines.set(arrayIndex, doneLine);
}
// merge the 2D-Boolean arrays to a big 2D-String considering the in the textInstance given
// spaceBetweenEachLine
int height = 0;
int spaceBetweenEachLine = textInstance.getLineSpacing();
for (String[][] doneLine : lines) {
height += doneLine.length + spaceBetweenEachLine;
}
height -= spaceBetweenEachLine;
String[][] blocks = new String[height][width];
int currentLineIndexCount = 0;
for (String[][] doneLine : lines) {
for (String[] booleans : doneLine) {
blocks[currentLineIndexCount] = booleans;
currentLineIndexCount++;
}
currentLineIndexCount += spaceBetweenEachLine;
}
return blocks;
}
private static String[][] getLine(TextInstance textInstance, String text, SpecificFontSize specificFontSize) {
int height = Objects.requireNonNull(getLetter('a', textInstance, specificFontSize)).length;
int width = 0;
for (char character: text.toLowerCase().toCharArray()) {
if (character == ' ') {
width += 3;
continue;
}
width += (Objects.requireNonNull(getLetter(character, textInstance, specificFontSize))[0].length + 1);
}
String[][] line = new String[height][width];
int currentWidth = 0;
for (char character: text.toLowerCase().toCharArray()) {
if (character == ' ') {
currentWidth += 3;
continue;
}
String[][] letter = getLetter(character, textInstance, specificFontSize);
// Loop through the letter
for (int heightIndex = 0; heightIndex < Objects.requireNonNull(letter).length; heightIndex++) {
System.arraycopy(letter[heightIndex], 0, line[heightIndex], currentWidth, letter[0].length);
}
currentWidth += (letter[0].length + 1);
}
return line;
}
private static String[][] getLetter(Character character, TextInstance textInstance, SpecificFontSize specificFontSize) {
switch (character) {
case 'a':
return specificFontSize.getA(textInstance.getBlock(), textInstance.getDirection());
case 'b':
return specificFontSize.getB(textInstance.getBlock(), textInstance.getDirection());
case 'c':
return specificFontSize.getC(textInstance.getBlock(), textInstance.getDirection());
case 'd':
return specificFontSize.getD(textInstance.getBlock(), textInstance.getDirection());
case 'e':
return specificFontSize.getE(textInstance.getBlock(), textInstance.getDirection());
case 'f':
return specificFontSize.getF(textInstance.getBlock(), textInstance.getDirection());
case 'g':
return specificFontSize.getG(textInstance.getBlock(), textInstance.getDirection());
case 'h':
return specificFontSize.getH(textInstance.getBlock(), textInstance.getDirection());
case 'i':
return specificFontSize.getI(textInstance.getBlock(), textInstance.getDirection());
case 'j':
return specificFontSize.getJ(textInstance.getBlock(), textInstance.getDirection());
case 'k':
return specificFontSize.getK(textInstance.getBlock(), textInstance.getDirection());
case 'l':
return specificFontSize.getL(textInstance.getBlock(), textInstance.getDirection());
case 'm':
return specificFontSize.getM(textInstance.getBlock(), textInstance.getDirection());
case 'n':
return specificFontSize.getN(textInstance.getBlock(), textInstance.getDirection());
case 'o':
return specificFontSize.getO(textInstance.getBlock(), textInstance.getDirection());
case 'p':
return specificFontSize.getP(textInstance.getBlock(), textInstance.getDirection());
case 'q':
return specificFontSize.getQ(textInstance.getBlock(), textInstance.getDirection());
case 'r':
return specificFontSize.getR(textInstance.getBlock(), textInstance.getDirection());
case 's':
return specificFontSize.getS(textInstance.getBlock(), textInstance.getDirection());
case 't':
return specificFontSize.getT(textInstance.getBlock(), textInstance.getDirection());
case 'u':
return specificFontSize.getU(textInstance.getBlock(), textInstance.getDirection());
case 'v':
return specificFontSize.getV(textInstance.getBlock(), textInstance.getDirection());
case 'w':
return specificFontSize.getW(textInstance.getBlock(), textInstance.getDirection());
case 'x':
return specificFontSize.getX(textInstance.getBlock(), textInstance.getDirection());
case 'y':
return specificFontSize.getY(textInstance.getBlock(), textInstance.getDirection());
case 'z':
return specificFontSize.getZ(textInstance.getBlock(), textInstance.getDirection());
case '1':
return specificFontSize.get1(textInstance.getBlock(), textInstance.getDirection());
case '2':
return specificFontSize.get2(textInstance.getBlock(), textInstance.getDirection());
case '3':
return specificFontSize.get3(textInstance.getBlock(), textInstance.getDirection());
case '4':
return specificFontSize.get4(textInstance.getBlock(), textInstance.getDirection());
case '5':
return specificFontSize.get5(textInstance.getBlock(), textInstance.getDirection());
case '6':
return specificFontSize.get6(textInstance.getBlock(), textInstance.getDirection());
case '7':
return specificFontSize.get7(textInstance.getBlock(), textInstance.getDirection());
case '8':
return specificFontSize.get8(textInstance.getBlock(), textInstance.getDirection());
case '9':
return specificFontSize.get9(textInstance.getBlock(), textInstance.getDirection());
}
return null;
}
}
+3 -3
View File
@@ -1,9 +1,9 @@
placeRange: 30
dragToMove: false
textSettings:
block: quartz_block
fontName: SansSerif
fontSize: 15
fontStyle: BOLD
underline: false
lineSpacing: 2
placeRange: 30
dragToMove: false
lineSpacing: 2