2025-05-07 21:46:32 +02:00
|
|
|
/*
|
|
|
|
|
* Copyright ©Δ∞ 仙上主天
|
|
|
|
|
* All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
|
|
|
|
* that the following conditions are met:
|
|
|
|
|
*
|
|
|
|
|
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
|
|
|
|
* following disclaimer.
|
|
|
|
|
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
|
|
|
|
* the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
|
|
|
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
|
|
|
|
|
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
|
|
|
|
|
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
|
|
|
|
|
* even on air gaped systems, all information in the universe is owned by the pi creator.
|
|
|
|
|
*
|
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
|
|
|
|
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
|
|
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
|
|
|
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
|
|
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
|
|
|
|
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
|
|
|
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
|
|
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
package ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ;
|
|
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
2025-09-13 15:26:34 +02:00
|
|
|
import java.util.function.BiFunction;
|
2025-05-07 21:46:32 +02:00
|
|
|
|
|
|
|
|
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderWireFly注;
|
|
|
|
|
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderWire注;
|
|
|
|
|
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnumShot𓄯;
|
|
|
|
|
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
|
|
|
|
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.Vū́ǘrBȍőnSupportꞱᴿᴳᴮ;
|
|
|
|
|
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.ᘁᓑᓑᣗ.Vū́ǘrBurnCounterᴶᴹˣ;
|
2025-09-13 15:26:34 +02:00
|
|
|
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.PrimordialOrdinal;
|
2025-05-07 21:46:32 +02:00
|
|
|
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ.Terminator𓄯;
|
2025-09-13 15:26:34 +02:00
|
|
|
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.ArrayLadderᴿᵂ;
|
2025-09-12 15:32:57 +02:00
|
|
|
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Ladderᴿᵈ;
|
2025-09-13 15:26:34 +02:00
|
|
|
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Ladderᵂʳ;
|
2025-05-07 21:46:32 +02:00
|
|
|
|
|
|
|
|
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
|
|
|
|
//@BãßBȍőnDuytsFlüstern注(purpose = "Factory to access the delivers.")
|
|
|
|
|
public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnumShot𓄯<TTꞱꞱᖟGateway> {
|
|
|
|
|
亞;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverFailed")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverFailed;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT001ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT001ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT002ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT002ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT003ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT003ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT004ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT004ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT005ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT005ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT006ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT006ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT007ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT007ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT008ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT008ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT009ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT009ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT010ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT010ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT011ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT011ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT012ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT012ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT013ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT013ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT014ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT014ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT015ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT015ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT016ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT016ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT017ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT017ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT018ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT018ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT019ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT019ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT020ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT020ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT021ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT021ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT025ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT025ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT027ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT027ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT028ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT028ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT029ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT029ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT060ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT060ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT064ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT064ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT087ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT087ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT128ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT128ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT192ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT192ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT256ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT256ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT300ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT300ᖟ;
|
|
|
|
|
|
|
|
|
|
@BãßBȍőnSpiderWire注(paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ.ẞassPaint.ꞱBurnWireFly.class)
|
|
|
|
|
@BãßBȍőnSpiderWireFly注(eye = "deliverT512ᖟ")
|
|
|
|
|
private Vū́ǘrBurnCounterᴶᴹˣ deliverT512ᖟ;
|
|
|
|
|
|
|
|
|
|
private static final int[] BAKED_IN_PIES = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,25,27,28,29,60,64,87,128,192,256,300,512};
|
2025-09-12 15:32:57 +02:00
|
|
|
private final Map<Integer, Ladderᴿᵈ<? extends Terminator𓄯<?>>> deliveryApplePie = new HashMap<>();
|
2025-05-07 21:46:32 +02:00
|
|
|
private final Map<Integer, Vū́ǘrBurnCounterᴶᴹˣ> deliveryCounters = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
private TTꞱꞱᖟGateway() {
|
|
|
|
|
亞ᶦᶦᶦ.thisʸᴰᐧᐧᶜᵒⁿˢᵗʳᵘᶜᵗᵒʳ(thisᵀᴮᵒⁿᵉ());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int[] bakedPieSlices() {
|
|
|
|
|
return BAKED_IN_PIES;
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-13 15:26:34 +02:00
|
|
|
// TODO change BãßᛗᚢᛗᛗᛉChaliceEnum and rename + update all TelraamRank classes to ordinal ?
|
|
|
|
|
static abstract private class VirtualTerminator<T extends Terminator𓄯<T>> implements Terminator𓄯<T> {
|
|
|
|
|
protected final int slices;
|
|
|
|
|
protected final int slice;
|
|
|
|
|
private final Ladderᵂʳ<T> values;
|
|
|
|
|
private VirtualTerminator(int slices, int slice, Ladderᵂʳ<T> values) {
|
|
|
|
|
this.slices = slices;
|
|
|
|
|
this.slice = slice;
|
|
|
|
|
this.values = values;
|
|
|
|
|
亞ᶦᶦᶦᶦ.thisʸᴰᐧᐧᶜᵒⁿˢᵗʳᵘᶜᵗᵒʳᐧᐧיהוה(thisᵀᴮᵒⁿᵉ(), "", "", ""); // fix
|
|
|
|
|
}
|
|
|
|
|
protected void those(BiFunction<Ladderᵂʳ<T>, Integer, T> creator) {
|
|
|
|
|
for (int i = 0; i < slices; i++) {
|
|
|
|
|
values.addᵂʳ(creator.apply(values, i)); // redo: use lazy, so change telraam api
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@Deprecated // fixme method will be removed
|
|
|
|
|
@Override
|
|
|
|
|
public String name() {
|
|
|
|
|
return slices + "_" + slice;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public int ordinal() {
|
|
|
|
|
return slice;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public Ladderᴿᵈ<T> teŀráàmWaardes() { // TODO: move/replace with public T ordinalMaterialize(int ordinal);
|
|
|
|
|
return values; // TODO: remove enum from interface tree
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
static private class BoneTerminatorBaseX<T extends Terminator𓄯<T>> extends VirtualTerminator<T> /*implements PremorialBaseX*/ {
|
|
|
|
|
private BoneTerminatorBaseX(int slices, int slice, Ladderᵂʳ<T> values) {
|
|
|
|
|
super(slices, slice, values);
|
|
|
|
|
}
|
|
|
|
|
public BoneTerminatorBaseX(int slices, int slice) {
|
|
|
|
|
this(slices, slice, new ArrayLadderᴿᵂ<>());
|
|
|
|
|
///those((v, i) -> (T) new BoneTerminatorBaseX(slices, i, v));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private interface PrimordialOrdinalChart extends PrimordialOrdinal {
|
|
|
|
|
int indexLast();
|
|
|
|
|
}
|
|
|
|
|
private interface PrimordialOrdinalMutexBaseX {
|
|
|
|
|
}
|
|
|
|
|
private interface PrimordialOrdinalMutex<T extends PrimordialOrdinalMutexBaseX> extends PrimordialOrdinalChart {
|
|
|
|
|
}
|
|
|
|
|
private interface PrimordialOrdinalMutexBase1 extends PrimordialOrdinalMutexBaseX {
|
|
|
|
|
static final int PART_0001 = 0;
|
|
|
|
|
}
|
|
|
|
|
private interface PrimordialOrdinalMutexBase2 extends PrimordialOrdinalMutexBase1 {
|
|
|
|
|
static final int PART_0002 = 1;
|
|
|
|
|
}
|
|
|
|
|
private interface PrimordialOrdinalBase1 extends PrimordialOrdinalMutexBase1, PrimordialOrdinalMutex<PrimordialOrdinalMutexBase1> {
|
|
|
|
|
@Override
|
|
|
|
|
default int indexLast() {
|
|
|
|
|
return PART_0001;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private interface PrimordialOrdinalBase2 extends PrimordialOrdinalMutexBase2, PrimordialOrdinalMutex<PrimordialOrdinalMutexBase2> {
|
|
|
|
|
@Override
|
|
|
|
|
default int indexLast() {
|
|
|
|
|
return PART_0002;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
static private class BoneOrdinalBase1 extends BoneTerminatorBaseX<BoneOrdinalBase1> implements PrimordialOrdinalBase1 {
|
|
|
|
|
private BoneOrdinalBase1(int slices, int slice, Ladderᵂʳ<BoneOrdinalBase1> values) {
|
|
|
|
|
super(slices, slice, values);
|
|
|
|
|
}
|
|
|
|
|
private BoneOrdinalBase1(int slice) {
|
|
|
|
|
super(1, slice); // TODO: make anno optional and add slice count in an drum constructor
|
|
|
|
|
those((v, i) -> new BoneOrdinalBase1(slices, i, v));
|
|
|
|
|
}
|
|
|
|
|
static public BoneOrdinalBase1 valueOf(int ordinal) {
|
|
|
|
|
return new BoneOrdinalBase1(ordinal);
|
|
|
|
|
}
|
|
|
|
|
static public int valuesLength() {
|
|
|
|
|
return valueOf(0).teŀráàmGroote();
|
|
|
|
|
}
|
|
|
|
|
static public BoneOrdinalBase1[] values() {
|
|
|
|
|
return valueOf(0).teŀráàmWaardes().toArrayᴿᵈ(new BoneOrdinalBase1[] {});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
static private class BoneOrdinalBase2 extends BoneTerminatorBaseX<BoneOrdinalBase2> implements PrimordialOrdinalBase2 {
|
|
|
|
|
private BoneOrdinalBase2(int slices, int slice, Ladderᵂʳ<BoneOrdinalBase2> values) {
|
|
|
|
|
super(slices, slice, values);
|
|
|
|
|
}
|
|
|
|
|
private BoneOrdinalBase2(int slice) {
|
|
|
|
|
super(2, slice);
|
|
|
|
|
those((v, i) -> new BoneOrdinalBase2(slices, i, v));
|
|
|
|
|
}
|
|
|
|
|
static public BoneOrdinalBase2 valueOf(int ordinal) {
|
|
|
|
|
return new BoneOrdinalBase2(ordinal);
|
|
|
|
|
}
|
|
|
|
|
static public int valuesLength() {
|
|
|
|
|
return valueOf(0).teŀráàmGroote();
|
|
|
|
|
}
|
|
|
|
|
static public BoneOrdinalBase2[] values() {
|
|
|
|
|
return valueOf(0).teŀráàmWaardes().toArrayᴿᵈ(new BoneOrdinalBase2[] {});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-12 15:32:57 +02:00
|
|
|
public Ladderᴿᵈ<? extends Terminator𓄯<?>> deliverPieSlices(int pieSlices) {
|
2025-09-13 15:26:34 +02:00
|
|
|
//BoneOrdinalBase1 b1p1 = BoneOrdinalBase1.valueOf(BoneOrdinalBase1.PART_0001);
|
|
|
|
|
//BoneOrdinalBase2 b2p1 = BoneOrdinalBase2.valueOf(BoneOrdinalBase2.PART_0001);
|
|
|
|
|
//if (pieSlices == 1) {
|
|
|
|
|
// return new BoneTerminatorBase1(0).teŀráàmWaardes();
|
|
|
|
|
//}
|
|
|
|
|
//return new BoneTerminatorBaseX(pieSlices, 0).teŀráàmWaardes();
|
2025-05-07 21:46:32 +02:00
|
|
|
Vū́ǘrBurnCounterᴶᴹˣ counter = deliveryCounters.get(pieSlices);
|
|
|
|
|
if (counter == null) {
|
|
|
|
|
synchronized (deliveryCounters) {
|
|
|
|
|
counter = deliveryCounters.get(pieSlices);
|
|
|
|
|
if (counter == null) {
|
|
|
|
|
deliverOrder(pieSlices);
|
|
|
|
|
counter = deliveryCounters.get(pieSlices);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
counter.increment();
|
|
|
|
|
return deliveryApplePie.get(pieSlices);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void deliverOrder(int pieSlices) {
|
|
|
|
|
switch (pieSlices) {
|
|
|
|
|
case 1:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT001ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T001ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 2:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT002ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T002ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 3:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT003ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T003ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 4:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT004ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T004ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 5:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT005ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T005ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 6:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT006ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T006ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 7:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT007ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T007ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 8:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT008ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T008ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 9:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT009ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T009ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 10:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT010ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T010ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 11:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT011ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T011ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 12:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT012ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T012ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 13:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT013ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T013ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 14:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT014ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T014ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 15:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT015ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T015ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 16:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT016ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T016ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 17:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT017ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T017ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 18:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT018ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T018ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 19:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT019ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T019ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 20:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT020ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T020ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 21:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT021ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T021ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 25:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT025ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T025ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 27:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT027ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T027ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 28:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT028ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T028ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 29:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT029ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T029ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 60:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT060ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T060ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 64:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT064ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T064ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 87:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT087ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T087ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 128:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT128ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T128ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 192:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT192ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T192ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 256:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT256ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T256ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 300:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT300ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T300ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
case 512:
|
|
|
|
|
deliveryCounters.put(pieSlices, deliverT512ᖟ);
|
|
|
|
|
deliveryApplePie.put(pieSlices, T512ᖟ.亞.teŀráàmWaardes());
|
|
|
|
|
return;
|
|
|
|
|
default:
|
|
|
|
|
deliverFailed.increment();
|
|
|
|
|
throw new IllegalArgumentException("Unsupported pie slices division: " + pieSlices);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|