JPP: Moved up to T012 china key and value into terminator guns
This commit is contained in:
parent
628eab4d35
commit
7bf4a691a3
19 changed files with 733 additions and 18 deletions
|
|
@ -29,6 +29,7 @@ package ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪ
|
|||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderWireFly注;
|
||||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderWire注;
|
||||
|
|
@ -36,8 +37,11 @@ import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.Bãßᛗᚢᛗ
|
|||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.Vū́ǘrBȍőnSupportꞱᴿᴳᴮ;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.ᘁᓑᓑᣗ.Vū́ǘrBurnCounterᴶᴹˣ;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.PrimordialOrdinal;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ.Terminator𓄯;
|
||||
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.ArrayLadderᴿᵂ;
|
||||
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Ladderᴿᵈ;
|
||||
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Ladderᵂʳ;
|
||||
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
//@BãßBȍőnDuytsFlüstern注(purpose = "Factory to access the delivers.")
|
||||
|
|
@ -192,7 +196,115 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
|
|||
return BAKED_IN_PIES;
|
||||
}
|
||||
|
||||
// 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[] {});
|
||||
}
|
||||
}
|
||||
|
||||
public Ladderᴿᵈ<? extends Terminator𓄯<?>> deliverPieSlices(int pieSlices) {
|
||||
//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();
|
||||
Vū́ǘrBurnCounterᴶᴹˣ counter = deliveryCounters.get(pieSlices);
|
||||
if (counter == null) {
|
||||
synchronized (deliveryCounters) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue