Merge branch 'main' of github.com:immetoo/demo4d

This commit is contained in:
Willem Cazander 2022-02-04 17:40:38 +01:00
commit 540fa0b72a
32 changed files with 336 additions and 739 deletions

View file

@ -15,6 +15,7 @@ import com.badlogic.gdx.utils.ScreenUtils;
import imgui.ImGui;
import imgui.type.ImBoolean;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.matrix4d.ScreenMatrix4D;
import love.distributedrebirth.demo4d.music.MusicManager;
import love.distributedrebirth.demo4d.music.MusicPlayerRenderer;
@ -33,9 +34,8 @@ import net.spookygames.gdx.nativefilechooser.NativeFileChooser;
/**
* Main loop render dispatcher and event handling.
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class Demo4DMain extends Game {
private List<String> args;
public NativeFileChooser fileChooser;

View file

@ -2,11 +2,9 @@ package love.distributedrebirth.demo4d;
import com.badlogic.gdx.ScreenAdapter;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class Demo4DMainAdapter extends ScreenAdapter {
protected final Demo4DMain main;

View file

@ -1,12 +1,9 @@
package love.distributedrebirth.demo4d;
import imgui.type.ImBoolean;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface ImGuiRenderer {
void render(ImBoolean widgetOpen);

View file

@ -1,10 +1,8 @@
package love.distributedrebirth.demo4d;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
abstract public class ImGuiRendererMain implements ImGuiRenderer {
protected final Demo4DMain main;

View file

@ -8,12 +8,12 @@ import imgui.ImGui;
import imgui.ImGuiIO;
import imgui.gl3.ImGuiImplGl3;
import imgui.glfw.ImGuiImplGlfw;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
/**
* Create and shutdown of ImGui and font activations.
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class ImGuiSetup {
public static final ImGuiImplGlfw imGuiImp = new ImGuiImplGlfw();
public static final ImGuiImplGl3 imGuiGlImp = new ImGuiImplGl3();
@ -29,7 +29,7 @@ public class ImGuiSetup {
ImGui.createContext();
initFonts(ImGui.getIO());
imGuiImp.init(windowHandle, true);
imGuiGlImp.init("#version 150");
imGuiGlImp.init("#version 140");
ImGui.init();
ImGui.styleColorsLight();

View file

@ -27,14 +27,11 @@ import com.badlogic.gdx.utils.viewport.ScreenViewport;
import imgui.ImGui;
import imgui.flag.ImGuiCond;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.Demo4DMainAdapter;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class ScreenMatrix4D extends Demo4DMainAdapter {
public Environment environment;
public PerspectiveCamera cam;

View file

@ -11,11 +11,9 @@ import com.badlogic.gdx.graphics.g3d.utils.RenderContext;
import com.badlogic.gdx.graphics.glutils.ShaderProgram;
import com.badlogic.gdx.utils.GdxRuntimeException;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class UserColorShader implements Shader {
ShaderProgram program;
Camera camera;

View file

@ -8,11 +8,12 @@ import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.audio.Music.OnCompletionListener;
import com.badlogic.gdx.files.FileHandle;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
/**
* Manages the background and others songs.
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class MusicManager {
private final MusicSong introSong;

View file

@ -12,15 +12,15 @@ import imgui.flag.ImGuiTableColumnFlags;
import imgui.flag.ImGuiTableFlags;
import imgui.type.ImBoolean;
import love.distributedrebirth.demo4d.ImGuiRendererMain;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import net.spookygames.gdx.nativefilechooser.NativeFileChooserCallback;
import net.spookygames.gdx.nativefilechooser.NativeFileChooserConfiguration;
/**
*
*
* @author willemtsade ©Δ 仙上主天
* The music player ui.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class MusicPlayerRenderer extends ImGuiRendererMain {
private final NativeFileChooserConfiguration fileChooserConfig;

View file

@ -2,11 +2,12 @@ package love.distributedrebirth.demo4d.music;
import com.badlogic.gdx.audio.Music;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
/**
*
*
* @author willemtsade ©Δ 仙上主天
* The music with the (file) name.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class MusicSong {
protected final Music music;
private final String name;

View file

@ -1,10 +1,11 @@
package love.distributedrebirth.demo4d.music;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
/**
*
*
* @author willemtsade ©Δ 仙上主天
* The song types.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public enum MusicSongType {
INTRO,
CREDITS,

View file

@ -8,6 +8,7 @@ import imgui.flag.ImGuiCond;
import imgui.flag.ImGuiTableFlags;
import imgui.type.ImBoolean;
import imgui.type.ImInt;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.ImGuiRendererMain;
import love.distributedrebirth.numberxd.base2t.BasePartFactory;
@ -18,11 +19,7 @@ import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartAlt3ʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartAlt4ʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartʸᴰ;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class BasePartRenderer extends ImGuiRendererMain {
private ImInt selectedBasePart = new ImInt();

View file

@ -3,14 +3,11 @@ package love.distributedrebirth.demo4d.screen;
import imgui.ImGui;
import imgui.flag.ImGuiCond;
import imgui.type.ImBoolean;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.ImGuiRendererMain;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class BasicConsoleRenderer extends ImGuiRendererMain {
public BasicConsoleRenderer(Demo4DMain main) {

View file

@ -4,15 +4,12 @@ import imgui.ImGui;
import imgui.flag.ImGuiCond;
import imgui.flag.ImGuiTableFlags;
import imgui.type.ImBoolean;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.ImGuiRendererMain;
import love.distributedrebirth.numberxd.Gê̄ldGetậl;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class HebrewWalletRenderer extends ImGuiRendererMain {
public HebrewWalletRenderer(Demo4DMain main) {

View file

@ -2,14 +2,11 @@ package love.distributedrebirth.demo4d.screen;
import com.badlogic.gdx.Screen;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.music.MusicSongType;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class ScreenCredits extends ScrollScreenAdapter {
private final String creditsText = String.join("\n",
"Credits;",

View file

@ -5,13 +5,10 @@ import com.badlogic.gdx.ScreenAdapter;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.utils.ScreenUtils;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class ScreenDefault extends ScreenAdapter {
private final Demo4DMain main;
private Texture backgroundImage;

View file

@ -2,14 +2,11 @@ package love.distributedrebirth.demo4d.screen;
import com.badlogic.gdx.Screen;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.music.MusicSongType;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class ScreenHelp extends ScrollScreenAdapter {
private final String creditsText = String.join("\n",
"Genesis 11",

View file

@ -6,14 +6,11 @@ import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.utils.ScreenUtils;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.music.MusicSongType;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class ScreenIntro extends ScreenAdapter {
private final Demo4DMain main;
private Texture backgroundImage;

View file

@ -2,14 +2,11 @@ package love.distributedrebirth.demo4d.screen;
import com.badlogic.gdx.Screen;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.music.MusicSongType;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class ScreenIntroMission extends ScrollScreenAdapter {
private final String missionText = String.join("\n",
"To a Waterfowl",

View file

@ -5,14 +5,11 @@ import imgui.ImDrawList;
import imgui.ImGui;
import imgui.ImVec2;
import imgui.flag.ImGuiCond;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.Demo4DMainAdapter;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class ScreenUnicode4D extends Demo4DMainAdapter {
public ScreenUnicode4D(final Demo4DMain main) {

View file

@ -6,14 +6,11 @@ import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.utils.ScreenUtils;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.Demo4DMainAdapter;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
abstract public class ScrollScreenAdapter extends Demo4DMainAdapter {
private static final int LINE_HEIGHT = 16;
private float scrollDeltaTime = 0f;

View file

@ -4,6 +4,8 @@ import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T10PartDecimal;
import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "BaseGlyphSet", purpose = "The encoded base scripts.")
@ -14,58 +16,71 @@ public enum BaseGlyphSet implements BãßBȍőnGlyphSetʸᴰ<BaseGlyphSet> {
// TODO: ImGui add font for BURMESE
// TODO: ImGui add font for ARABIC
BURMESE(new BaseGlyphSetNumber10("\u1040","\u1041","\u1042","\u1043","\u1044","\u1045","\u1046","\u1047","\u1048","\u1049")),
BENGALI(new BaseGlyphSetNumber10("","","","","","","","","","")),
SINHALA(new BaseGlyphSetNumber10("","","","","","","","","","")),
LATIN_DTMF(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnChinaValue()))).withSeperator(" "),
new BaseGlyphSetNumber("1","2","3","A","4","5","6","B","7","8","9","C","*","0","#","D"),
null),
LATIN_BASIC(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(Integer.toString(x.BȍőnRangTelNul())))),
new BaseGlyphSetNumber(v -> T16PartHex.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
new BaseGlyphSetNumber("1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R")),
LATIN_TOP16(new BaseGlyphSetNumber("","¹","²","³","","","","","",""),
new BaseGlyphSetNumber("","¹","²","³","","","","","","","","","","","",""),
new BaseGlyphSetNumber("¹","²","³","","","","","","","","","","","","","","","","","","","","","","","Q","ᴿ")),
LATIN_SUB16(new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","բ"),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","բ","G","","","","","","","","","","Q","")),
TONE_LETTER(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnIdentifierTone()))),
new BaseGlyphSetNumber(v -> T16PartHex.PART_1.BãßVoorElk(x -> v.add(x.BȍőnIdentifierTone()))),
new BaseGlyphSetNumber("꜊꜈","꜊꜉","꜊꜋","꜊꜌","꜊꜍","꜊꜎","꜊꜏","꜊꜐","꜊꜑","˧˥","˧˦","˧˨","˧˩","˧꜒","˧꜓","˧꜔","˧꜕","˧꜖","꜏˥","꜏˦","꜏˧","꜏˨","꜏˩","꜏꜍","꜏꜎","꜏꜐","꜏꜑")),
TONE_LETTER(new BaseGlyphSetNumber10("˥","˦","˧","˨","˩","","","","",""),
new BaseGlyphSetNumber16("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧"),
new BaseGlyphSetNumber36("꜊꜈","꜊꜉","꜊꜋","꜊꜌","꜊꜍","꜊꜎","꜊꜏","꜊꜐","꜊꜑","˧˥","˧˦","˧˨","˧˩","˧꜒","˧꜓","˧꜔","˧꜕","˧꜖","꜏˥","꜏˦","꜏˧","꜏˨","꜏˩","꜏꜍","꜏꜎","꜏꜐","꜏꜑")),
DIPAVALI_TONE_LR_TOP16(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
new BaseGlyphSetNumber("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
null),
DIPAVALI_TONE_LR_SUB16(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
new BaseGlyphSetNumber("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧").withAltGlyphSet(BaseGlyphSet.LATIN_SUB16),
null),
DIPAVALI_TONE_RL_TOP16(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt2Value()))),
new BaseGlyphSetNumber("꜔꜒꜖","꜔꜖꜒","꜔꜒꜓","꜔꜖꜕","꜔꜓꜓","꜔꜕꜕","꜔꜒꜒","꜔꜖꜖","꜒꜖꜔","꜖꜒꜔","꜒꜓꜔","꜖꜕꜔","꜓꜓꜔","꜕꜕꜔","꜒꜒꜔","꜖꜖꜔").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
null),
DIPAVALI_TONE_RL_SUB16(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt2Value()))),
new BaseGlyphSetNumber("꜔꜒꜖","꜔꜖꜒","꜔꜒꜓","꜔꜖꜕","꜔꜓꜓","꜔꜕꜕","꜔꜒꜒","꜔꜖꜖","꜒꜖꜔","꜖꜒꜔","꜒꜓꜔","꜖꜕꜔","꜓꜓꜔","꜕꜕꜔","꜒꜒꜔","꜖꜖꜔").withAltGlyphSet(BaseGlyphSet.LATIN_SUB16),
null),
GREEK(new BaseGlyphSetNumber10("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ"),
new BaseGlyphSetNumber16("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ"),
new BaseGlyphSetNumber36("α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ","ο","π","ϟ","ρ","σ","τ","υ","φ","χ","ψ","ω","ϡ")),
BURMESE(new BaseGlyphSetNumber("\u1040","\u1041","\u1042","\u1043","\u1044","\u1045","\u1046","\u1047","\u1048","\u1049")),
BENGALI(new BaseGlyphSetNumber("","","","","","","","","","")),
SINHALA(new BaseGlyphSetNumber("","","","","","","","","","")),
CHINA_FINANCIAL_T(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnChinaKey()))),
new BaseGlyphSetNumber(v -> T16PartHex.PART_1.BãßVoorElk(x -> v.add(x.BȍőnChinaKey()))).withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
null),
CHINA_FINANCIAL_S(new BaseGlyphSetNumber("","","","","","","","","","")),
CHINA_NORMAL_T(new BaseGlyphSetNumber("","","","","","","","","","")),
CHINA_NORMAL_S(new BaseGlyphSetNumber("","","","","","","","","","")),
KOREAN(new BaseGlyphSetNumber10("","","","","","","","","",""),
new BaseGlyphSetNumber16("","","","","","","","","","","","","","","",""),
new BaseGlyphSetNumber36("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
GREEK(new BaseGlyphSetNumber("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ"),
new BaseGlyphSetNumber("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
new BaseGlyphSetNumber("α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ","ο","π","ϟ","ρ","σ","τ","υ","φ","χ","ψ","ω","ϡ")),
LATIN_BASIC(new BaseGlyphSetNumber10("0","1","2","3","4","5","6","7","8","9"),
new BaseGlyphSetNumber16("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"),
new BaseGlyphSetNumber36("1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R")),
KOREAN(new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
LATIN_DTMF(new BaseGlyphSetNumber10("zero","one","two","three","four","five","six","seven","eight","nine").withSeperator(" "),
new BaseGlyphSetNumber16("1","2","3","A","4","5","6","B","7","8","9","C","*","0","#","D")),
LATIN_SUPER(new BaseGlyphSetNumber10("","¹","²","³","","","","","",""),
new BaseGlyphSetNumber16("","¹","²","³","","","","","","","","","","","","")),
LATIN_SUB(new BaseGlyphSetNumber10("","","","","","","","","",""),
new BaseGlyphSetNumber16("","","","","","","","","","","","","","","","բ")),
ARABIC(new BaseGlyphSetNumber("٠","١","٢","٣","٤","٥","٦","٧","٨","٩"),
new BaseGlyphSetNumber("٠","١","٢","٣","٤","٥","٦","٧","٨","٩","ا","ب","ج","د","ه","و").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
new BaseGlyphSetNumber("ا","ب","ج","د","ه","و","ز","ح","ط","ي","ك","ل","م","ن","س","ع","ف","ص","ق","ر","ش","ت","ث","خ","ذ","ض","ظ")),
HEBREW(new BaseGlyphSetNumber10("אֶפֶס","אֶחָד","שְׁתַּיִם","שְׁלֹשָׁה","אַרְבַּע‎","חֲמִשָּׁה‎","שֵׁשׁ‎","שִׁבְעָה","שְׁמוֹנֶה","תִּשְׁעָה‎").withSeperator(" "),
new BaseGlyphSetNumber36("א","ב","ג","ד","ה","ו","ז","ח","ט","י","כ","ל","מ","נ","ס ","ע","פ","צ","ק","ר","ש","ת","ך","ם","ן","ף","ץ")),
ARABIC(new BaseGlyphSetNumber10("٠","١","٢","٣","٤","٥","٦","٧","٨","٩"),
new BaseGlyphSetNumber36("ا","ب","ج","د","ه","و","ز","ح","ط","ي","ك","ل","م","ن","س","ع","ف","ص","ق","ر","ش","ت","ث","خ","ذ","ض","ظ")),
HEBREW(new BaseGlyphSetNumber("אֶפֶס","אֶחָד","שְׁתַּיִם","שְׁלֹשָׁה","אַרְבַּע‎","חֲמִשָּׁה‎","שֵׁשׁ‎","שִׁבְעָה","שְׁמוֹנֶה","תִּשְׁעָה‎").withSeperator(" "),
new BaseGlyphSetNumber("אֶפֶס","אֶחָד","שְׁתַּיִם","שְׁלֹשָׁה","אַרְבַּע‎","חֲמִשָּׁה‎","שֵׁשׁ‎","שִׁבְעָה","שְׁמוֹנֶה","תִּשְׁעָה‎","א","ב","ג","ד","ה","ו").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
new BaseGlyphSetNumber("א","ב","ג","ד","ה","ו","ז","ח","ט","י","כ","ל","מ","נ","ס ","ע","פ","צ","ק","ר","ש","ת","ך","ם","ן","ף","ץ")),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private BaseGlyphSet(BaseGlyphSetNumber10 numbers) {
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, numbers);
private BaseGlyphSet(BaseGlyphSetNumber numbers) {
this(numbers, null, null);
}
private BaseGlyphSet(BaseGlyphSetNumber10 numbers, BaseGlyphSetNumber36 gematria) {
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, numbers);
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, gematria);
}
private BaseGlyphSet(BaseGlyphSetNumber10 numbers, BaseGlyphSetNumber16 hex) {
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, numbers);
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, hex);
}
private BaseGlyphSet(BaseGlyphSetNumber10 numbers, BaseGlyphSetNumber16 hex, BaseGlyphSetNumber36 gematria) {
private BaseGlyphSet(BaseGlyphSetNumber numbers, BaseGlyphSetNumber hex, BaseGlyphSetNumber gematria) {
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, numbers);
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, hex);
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, gematria);

View file

@ -1,17 +1,179 @@
package love.distributedrebirth.numberxd.base2t.glyph;
import love.distributedrebirth.bassboonyd.BãßBȍőnAnnotationInfoʸᴰ;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppender;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnAnnotationInfoʸᴰ(required = {BãßBȍőnGlyphSetNumberInfoʸᴰ.class})
public interface BaseGlyphSetNumber {
public final class BaseGlyphSetNumber {
default BaseGlyphSetNumberType BãßNumberType() {
return getClass().getAnnotation(BãßBȍőnGlyphSetNumberInfoʸᴰ.class).base();
private final List<String> chars = new ArrayList<>();
private BaseGlyphSet altGlyphSet = null;
private String charSeperator = "";
public BaseGlyphSetNumber(String char0, String char1, String char2, String char3, String char4, String char5,
String char6, String char7, String char8, String char9) {
this.chars.add(char0);
this.chars.add(char1);
this.chars.add(char2);
this.chars.add(char3);
this.chars.add(char4);
this.chars.add(char5);
this.chars.add(char6);
this.chars.add(char7);
this.chars.add(char8);
this.chars.add(char9);
}
String BȍőnCharFor(int number);
public BaseGlyphSetNumber(String char0, String char1, String char2, String char3, String char4, String char5,
String char6, String char7, String char8, String char9, String charA, String charB, String charC,
String charD, String charE, String charF) {
this.chars.add(char0);
this.chars.add(char1);
this.chars.add(char2);
this.chars.add(char3);
this.chars.add(char4);
this.chars.add(char5);
this.chars.add(char6);
this.chars.add(char7);
this.chars.add(char8);
this.chars.add(char9);
this.chars.add(charA);
this.chars.add(charB);
this.chars.add(charC);
this.chars.add(charD);
this.chars.add(charE);
this.chars.add(charF);
}
String BȍőnCharSeperator();
public BaseGlyphSetNumber(String char1, String char2, String char3, String char4, String char5, String char6,
String char7, String char8, String char9, String char10, String char20, String char30, String char40,
String char50, String char60, String char70, String char80, String char90, String char100, String char200,
String char300, String char400, String char500, String char600, String char700, String char800,
String char900) {
this.chars.add(char1);
this.chars.add(char2);
this.chars.add(char3);
this.chars.add(char4);
this.chars.add(char5);
this.chars.add(char6);
this.chars.add(char7);
this.chars.add(char8);
this.chars.add(char9);
this.chars.add(char10);
this.chars.add(char20);
this.chars.add(char30);
this.chars.add(char40);
this.chars.add(char50);
this.chars.add(char60);
this.chars.add(char70);
this.chars.add(char80);
this.chars.add(char90);
this.chars.add(char100);
this.chars.add(char200);
this.chars.add(char300);
this.chars.add(char400);
this.chars.add(char500);
this.chars.add(char600);
this.chars.add(char700);
this.chars.add(char800);
this.chars.add(char900);
}
public BaseGlyphSetNumber(Consumer<BaseAppender<String>> consumer) {
consumer.accept(new BaseAppender<String>() {
@Override
public void add(String value) {
chars.add(value);
}
});
}
public BaseGlyphSetNumber withAltGlyphSet(BaseGlyphSet altGlyphSet) {
this.altGlyphSet = altGlyphSet;
return this;
}
public BaseGlyphSetNumber withSeperator(String charSeperator) {
this.charSeperator = charSeperator;
return this;
}
public String BȍőnCharFor(int number) {
return chars.get(number);
}
public String BȍőnCharSeperator() {
return charSeperator;
}
public BaseGlyphSet BȍőnAltGlyphSet() {
return altGlyphSet;
}
public String BȍőnCharFor36(int number) {
switch (number) {
case 1:
return chars.get(0);
case 2:
return chars.get(1);
case 3:
return chars.get(2);
case 4:
return chars.get(3);
case 5:
return chars.get(4);
case 6:
return chars.get(5);
case 7:
return chars.get(6);
case 8:
return chars.get(7);
case 9:
return chars.get(8);
case 10:
return chars.get(9);
case 20:
return chars.get(10);
case 30:
return chars.get(11);
case 40:
return chars.get(12);
case 50:
return chars.get(13);
case 60:
return chars.get(14);
case 70:
return chars.get(15);
case 80:
return chars.get(16);
case 90:
return chars.get(17);
case 100:
return chars.get(18);
case 200:
return chars.get(19);
case 300:
return chars.get(20);
case 400:
return chars.get(21);
case 500:
return chars.get(22);
case 600:
return chars.get(23);
case 700:
return chars.get(24);
case 800:
return chars.get(25);
case 900:
return chars.get(26);
default:
throw new IllegalArgumentException("Can't handle higher numbers: "+number);
}
}
}

View file

@ -1,114 +0,0 @@
package love.distributedrebirth.numberxd.base2t.glyph;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnGlyphSetNumberInfoʸᴰ(base = BaseGlyphSetNumberType.BASE_10)
public final class BaseGlyphSetNumber10 implements BaseGlyphSetNumber {
private String charSeperator;
private final String char0;
private final String char1;
private final String char2;
private final String char3;
private final String char4;
private final String char5;
private final String char6;
private final String char7;
private final String char8;
private final String char9;
public BaseGlyphSetNumber10(String char0, String char1, String char2, String char3, String char4, String char5,
String char6, String char7, String char8, String char9) {
super();
this.charSeperator = "";
this.char0 = char0;
this.char1 = char1;
this.char2 = char2;
this.char3 = char3;
this.char4 = char4;
this.char5 = char5;
this.char6 = char6;
this.char7 = char7;
this.char8 = char8;
this.char9 = char9;
}
public BaseGlyphSetNumber10 withSeperator(String charSeperator) {
this.charSeperator = charSeperator;
return this;
}
@Override
public String BȍőnCharFor(int number) {
switch (number) {
case 0:
return char0;
case 1:
return char1;
case 2:
return char2;
case 3:
return char3;
case 4:
return char4;
case 5:
return char5;
case 6:
return char6;
case 7:
return char7;
case 8:
return char8;
case 9:
return char9;
default:
throw new IllegalArgumentException("Can't handle higher numbers: "+number);
}
}
@Override
public String BȍőnCharSeperator() {
return charSeperator;
}
public String getChar0() {
return char0;
}
public String getChar1() {
return char1;
}
public String getChar2() {
return char2;
}
public String getChar3() {
return char3;
}
public String getChar4() {
return char4;
}
public String getChar5() {
return char5;
}
public String getChar6() {
return char6;
}
public String getChar7() {
return char7;
}
public String getChar8() {
return char8;
}
public String getChar9() {
return char9;
}
}

View file

@ -1,162 +0,0 @@
package love.distributedrebirth.numberxd.base2t.glyph;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnGlyphSetNumberInfoʸᴰ(base = BaseGlyphSetNumberType.BASE_16)
public final class BaseGlyphSetNumber16 implements BaseGlyphSetNumber {
private String charSeperator;
private final String char0;
private final String char1;
private final String char2;
private final String char3;
private final String char4;
private final String char5;
private final String char6;
private final String char7;
private final String char8;
private final String char9;
private final String charA;
private final String charB;
private final String charC;
private final String charD;
private final String charE;
private final String charF;
public BaseGlyphSetNumber16(String char0, String char1, String char2, String char3, String char4, String char5,
String char6, String char7, String char8, String char9, String charA, String charB, String charC,
String charD, String charE, String charF) {
this.charSeperator = "";
this.char0 = char0;
this.char1 = char1;
this.char2 = char2;
this.char3 = char3;
this.char4 = char4;
this.char5 = char5;
this.char6 = char6;
this.char7 = char7;
this.char8 = char8;
this.char9 = char9;
this.charA = charA;
this.charB = charB;
this.charC = charC;
this.charD = charD;
this.charE = charE;
this.charF = charF;
}
public BaseGlyphSetNumber16 withSeperator(String charSeperator) {
this.charSeperator = charSeperator;
return this;
}
@Override
public String BȍőnCharFor(int number) {
switch (number) {
case 0:
return char0;
case 1:
return char1;
case 2:
return char2;
case 3:
return char3;
case 4:
return char4;
case 5:
return char5;
case 6:
return char6;
case 7:
return char7;
case 8:
return char8;
case 9:
return char9;
case 10:
return charA;
case 11:
return charB;
case 12:
return charC;
case 13:
return charD;
case 14:
return charE;
case 15:
return charF;
default:
throw new IllegalArgumentException("Can't handle higher numbers: "+number);
}
}
@Override
public String BȍőnCharSeperator() {
return charSeperator;
}
public String getChar0() {
return char0;
}
public String getChar1() {
return char1;
}
public String getChar2() {
return char2;
}
public String getChar3() {
return char3;
}
public String getChar4() {
return char4;
}
public String getChar5() {
return char5;
}
public String getChar6() {
return char6;
}
public String getChar7() {
return char7;
}
public String getChar8() {
return char8;
}
public String getChar9() {
return char9;
}
public String getCharA() {
return charA;
}
public String getCharB() {
return charB;
}
public String getCharC() {
return charC;
}
public String getCharD() {
return charD;
}
public String getCharE() {
return charE;
}
public String getCharF() {
return charF;
}
}

View file

@ -1,253 +0,0 @@
package love.distributedrebirth.numberxd.base2t.glyph;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnGlyphSetNumberInfoʸᴰ(base = BaseGlyphSetNumberType.BASE_36)
public final class BaseGlyphSetNumber36 implements BaseGlyphSetNumber {
private String charSeperator;
private final String char1;
private final String char2;
private final String char3;
private final String char4;
private final String char5;
private final String char6;
private final String char7;
private final String char8;
private final String char9;
private final String char10;
private final String char20;
private final String char30;
private final String char40;
private final String char50;
private final String char60;
private final String char70;
private final String char80;
private final String char90;
private final String char100;
private final String char200;
private final String char300;
private final String char400;
private final String char500;
private final String char600;
private final String char700;
private final String char800;
private final String char900;
public BaseGlyphSetNumber36(String char1, String char2, String char3, String char4, String char5, String char6,
String char7, String char8, String char9, String char10, String char20, String char30, String char40,
String char50, String char60, String char70, String char80, String char90, String char100, String char200,
String char300, String char400, String char500, String char600, String char700, String char800,
String char900) {
this.charSeperator = "";
this.char1 = char1;
this.char2 = char2;
this.char3 = char3;
this.char4 = char4;
this.char5 = char5;
this.char6 = char6;
this.char7 = char7;
this.char8 = char8;
this.char9 = char9;
this.char10 = char10;
this.char20 = char20;
this.char30 = char30;
this.char40 = char40;
this.char50 = char50;
this.char60 = char60;
this.char70 = char70;
this.char80 = char80;
this.char90 = char90;
this.char100 = char100;
this.char200 = char200;
this.char300 = char300;
this.char400 = char400;
this.char500 = char500;
this.char600 = char600;
this.char700 = char700;
this.char800 = char800;
this.char900 = char900;
}
public BaseGlyphSetNumber36 withSeperator(String charSeperator) {
this.charSeperator = charSeperator;
return this;
}
@Override
public String BȍőnCharFor(int number) {
switch (number) {
case 1:
return char1;
case 2:
return char2;
case 3:
return char3;
case 4:
return char4;
case 5:
return char5;
case 6:
return char6;
case 7:
return char7;
case 8:
return char8;
case 9:
return char9;
case 10:
return char10;
case 20:
return char20;
case 30:
return char30;
case 40:
return char40;
case 50:
return char50;
case 60:
return char60;
case 70:
return char70;
case 80:
return char80;
case 90:
return char90;
case 100:
return char100;
case 200:
return char200;
case 300:
return char300;
case 400:
return char400;
case 500:
return char500;
case 600:
return char600;
case 700:
return char700;
case 800:
return char800;
case 900:
return char900;
default:
throw new IllegalArgumentException("Can't handle higher numbers: "+number);
}
}
@Override
public String BȍőnCharSeperator() {
return charSeperator;
}
public String getChar1() {
return char1;
}
public String getChar2() {
return char2;
}
public String getChar3() {
return char3;
}
public String getChar4() {
return char4;
}
public String getChar5() {
return char5;
}
public String getChar6() {
return char6;
}
public String getChar7() {
return char7;
}
public String getChar8() {
return char8;
}
public String getChar9() {
return char9;
}
public String getChar10() {
return char10;
}
public String getChar20() {
return char20;
}
public String getChar30() {
return char30;
}
public String getChar40() {
return char40;
}
public String getChar50() {
return char50;
}
public String getChar60() {
return char60;
}
public String getChar70() {
return char70;
}
public String getChar80() {
return char80;
}
public String getChar90() {
return char90;
}
public String getChar100() {
return char100;
}
public String getChar200() {
return char200;
}
public String getChar300() {
return char300;
}
public String getChar400() {
return char400;
}
public String getChar500() {
return char500;
}
public String getChar600() {
return char600;
}
public String getChar700() {
return char700;
}
public String getChar800() {
return char800;
}
public String getChar900() {
return char900;
}
}

View file

@ -1,10 +0,0 @@
package love.distributedrebirth.numberxd.base2t.glyph;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public enum BaseGlyphSetNumberType {
BASE_10,
BASE_16,
BASE_36
}

View file

@ -1,16 +0,0 @@
package love.distributedrebirth.numberxd.base2t.glyph;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface BãßBȍőnGlyphSetNumberInfoʸᴰ {
BaseGlyphSetNumberType base();
}

View file

@ -7,15 +7,15 @@ import love.distributedrebirth.bassboonyd.BãßBȍőnEnumSetʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnGlyphSetʸᴰ<T extends BãßBȍőnGlyphSetʸᴰ<T>> extends BãßBȍőnEnumSetʸᴰ<T>, BãßBȍőnCoffinStoreʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> {
default BaseGlyphSetNumber10 BȍőnGlyphSetNumber10() {
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, BaseGlyphSetNumber10.class);
default BaseGlyphSetNumber BȍőnGlyphSetNumber10() {
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, BaseGlyphSetNumber.class);
}
default BaseGlyphSetNumber16 BȍőnGlyphSetNumber16() {
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, BaseGlyphSetNumber16.class);
default BaseGlyphSetNumber BȍőnGlyphSetNumber16() {
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, BaseGlyphSetNumber.class);
}
default BaseGlyphSetNumber36 BȍőnGlyphSetNumber36() {
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, BaseGlyphSetNumber36.class);
default BaseGlyphSetNumber BȍőnGlyphSetNumber36() {
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, BaseGlyphSetNumber.class);
}
}

View file

@ -62,13 +62,21 @@ public interface BãßBȍőnPartʸᴰ<T extends BãßBȍőnPartʸᴰ<T>> extends
} else if (values.length <= 256) {
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor(BȍőnRangTelNul() >> 4));
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor(BȍőnRangTelNul() & 0x0F));
BaseGlyphSet secondGlyphSet = glyphSet.BȍőnGlyphSetNumber16().BȍőnAltGlyphSet();
if (secondGlyphSet == null) {
secondGlyphSet = glyphSet;
}
buf.append(secondGlyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor(BȍőnRangTelNul() & 0x0F));
} else if (values.length <= 0xFFF+1) {
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor((BȍőnRangTelNul() >> 8) & 0x0F));
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor((BȍőnRangTelNul() >> 4) & 0x0F));
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor(BȍőnRangTelNul() & 0x0F));
BaseGlyphSet secondGlyphSet = glyphSet.BȍőnGlyphSetNumber16().BȍőnAltGlyphSet();
if (secondGlyphSet == null) {
secondGlyphSet = glyphSet;
}
buf.append(secondGlyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor((BȍőnRangTelNul() >> 4) & 0x0F));
buf.append(secondGlyphSet.BȍőnGlyphSetNumber16().BȍőnCharSeperator());
buf.append(secondGlyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor(BȍőnRangTelNul() & 0x0F));
} else {
throw new IllegalStateException("Can't handle more than 0xFFF values.");
}
@ -82,24 +90,24 @@ public interface BãßBȍőnPartʸᴰ<T extends BãßBȍőnPartʸᴰ<T>> extends
StringBuilder buf = new StringBuilder();
T[] values = BãßInstances();
if (values.length <= 9) {
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor(BȍőnRangTelEen()));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(BȍőnRangTelEen()));
} else if (values.length <= 99) {
int count = BȍőnRangTelNul();
int mod10 = count % 9 + 1;
int div10 = count / 9 + 1;
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor(div10));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(div10));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor(mod10));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(mod10));
} else if (values.length <= 999) {
int count = BȍőnRangTelNul();
int mod10 = count % 9 + 1;
int div10 = count / 90 + 1;
int div100 = count / 900 + 1;
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor(div10));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(div10));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor(div100));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(div100));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor(mod10));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(mod10));
} else {
throw new IllegalStateException("Can't handle more than 1000 values.");
}

View file

@ -7,28 +7,32 @@ import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T10PartDecimal", purpose = "The distribution by 10.")
public enum T10PartDecimal implements BãßBȍőnPartʸᴰ<T10PartDecimal> {
@BãßBȍőnPartAlt1Infoʸᴰ(name = "Tone Letter LR", website = "https://en.wikipedia.org/wiki/Tone_letter")
@BãßBȍőnPartAlt2Infoʸᴰ(name = "Tone Letter RL", website = "https://en.wikipedia.org/wiki/Tone_letter")
public enum T10PartDecimal implements BãßBȍőnPartAlt2ʸᴰ<T10PartDecimal> {
PART_1 ("˥","","zero"),
PART_2 ("˦","","one"),
PART_3 ("˧","","two"),
PART_4 ("˨","","three"),
PART_5 ("˩","","four"),
PART_6 ("","","five"),
PART_7 ("","","six"),
PART_8 ("","","seven"),
PART_9 ("","","eight"),
PART_10("","","nine"),
PART_1 ("˥","","zero", "˥",""),
PART_2 ("˦","","one", "˦",""),
PART_3 ("˧","","two", "˧",""),
PART_4 ("˨","","three","˨",""),
PART_5 ("˩","","four", "˩",""),
PART_6 ("","","five", "",""),
PART_7 ("","","six", "",""),
PART_8 ("","","seven","",""),
PART_9 ("","","eight","",""),
PART_10("","","nine", "",""),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T10PartDecimal(String idTone, String chinaKey, String chinaValue) {
private T10PartDecimal(String idTone, String chinaKey, String chinaValue, String alt1Value, String alt2Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_2_VALUE, alt2Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}

View file

@ -7,34 +7,36 @@ import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T16PartHex", purpose = "The distribution by 16.")
public enum T16PartHex implements BãßBȍőnPartʸᴰ<T16PartHex> {
@BãßBȍőnPartAlt1Infoʸᴰ(name = "Hexadecimal", website = "https://en.wikipedia.org/wiki/Hexadecimal")
public enum T16PartHex implements BãßBȍőnPartAlt1ʸᴰ<T16PartHex> {
PART_1 ("˥","","hydrogen"),
PART_2 ("˦","","helium"),
PART_3 ("˨","","lithium"),
PART_4 ("˩","","beryllium"),
PART_5 ("","","boron"),
PART_6 ("","","carbon"),
PART_7 ("","","nitrogen"),
PART_8 ("","","oxygen"),
PART_9 ("","","fluorine"),
PART_10("","","neon"),
PART_11("","","sodium"),
PART_12("","","magnesium"),
PART_13("","","aluminium"),
PART_14("","","silicon"),
PART_15("","","phosphorus"),
PART_16("","","sulfur"),
PART_1 ("˥","","hydrogen", "0"),
PART_2 ("˦","","helium", "1"),
PART_3 ("˨","","lithium", "2"),
PART_4 ("˩","","beryllium", "3"),
PART_5 ("","","boron", "4"),
PART_6 ("","","carbon", "5"),
PART_7 ("","","nitrogen", "6"),
PART_8 ("","","oxygen", "7"),
PART_9 ("","","fluorine", "8"),
PART_10("","","neon", "9"),
PART_11("","","sodium", "A"),
PART_12("","","magnesium", "B"),
PART_13("","","aluminium", "C"),
PART_14("","","silicon", "D"),
PART_15("","","phosphorus","E"),
PART_16("","","sulfur", "F"),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T16PartHex(String idTone, String chinaKey, String chinaValue) {
private T16PartHex(String idTone, String chinaKey, String chinaValue, String alt1Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}