JPP: Fixed spider injection on parent classes for bone terminator
This commit is contained in:
parent
960740d52c
commit
0e16c50571
9 changed files with 109 additions and 32 deletions
|
|
@ -53,7 +53,7 @@ public interface ZerdinalAḃåčȕs̈RȧñkLine𓄯<T extends ZerdinalAḃåč
|
|||
@Override
|
||||
public void s͑um̴̆ͨ̅m͠ô̈́ṅͫͤ́̂Gh̕os̑ͫt̡̓̍s͜() {
|
||||
boon.thisᵀᴮᵒⁿᵉᴳʳᵃᵛᵉ().onheɨlḮgSpreǜk(Ꝑŕḯṿª₮ḕꝐḯŕ₳₮ḕʸᴰ.class).bewaarGềễstMap(GHOST_MAP_TONE);
|
||||
boon.thisᵀᴮᵒⁿᵉᴳʳᵃᵛᵉ().onheɨlḮgSpreǜk(Ꝑŕḯṿª₮ḕꝐḯŕ₳₮ḕʸᴰ.class).bewaarGềễst(GHOST_RANK_RING_TONE, boon.abacusRȧñkName());
|
||||
boon.thisᵀᴮᵒⁿᵉᴳʳᵃᵛᵉ().onheɨlḮgSpreǜk(Ꝑŕḯṿª₮ḕꝐḯŕ₳₮ḕʸᴰ.class).bewaarGềễst(GHOST_RANK_RING_TONE, "" /*boon.abacusRȧñkName()*/);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -38,11 +38,19 @@ public interface ZerdinalAḃåčȕs̈RȧñkOperationPipeWater extends ZerdinalA
|
|||
|
||||
int input2();
|
||||
|
||||
ZerdinalAḃåčȕs̈RȧñkOperationPipeWater outputPipe(int output);
|
||||
|
||||
void output(int output);
|
||||
|
||||
void outputCarry(boolean outputCarry);
|
||||
|
||||
int outputBoundry();
|
||||
|
||||
default ZerdinalAḃåčȕs̈RȧñkOperationPipeWater makeOutput(int output) {
|
||||
output(output);
|
||||
return this;
|
||||
}
|
||||
|
||||
default ZerdinalAḃåčȕs̈RȧñkOperationPipeWater makeOutputCarry(boolean outputCarry) {
|
||||
outputCarry(outputCarry);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,12 +82,6 @@ public final class ZerdinalAḃåčȕs̈RȧñkWaterClock implements ZerdinalAḃ
|
|||
return input2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ZerdinalAḃåčȕs̈RȧñkOperationPipeWater outputPipe(int output) {
|
||||
output(output);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void output(int output) {
|
||||
this.output = output;
|
||||
|
|
|
|||
|
|
@ -35,34 +35,55 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu
|
|||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public enum ZerdinalAḃåčȕs̈RȧñkWaterWorks implements ZerdinalAḃåčȕs̈RȧñkOperation {
|
||||
|
||||
GOTO_FIRST(pipe -> pipe.outputPipe(ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO)),
|
||||
GOTO_LAST(pipe -> pipe.outputPipe(pipe.outputBoundry() - ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟONE)),
|
||||
/*
|
||||
NOP(pipe -> pipe),
|
||||
FAULT(pipe -> {
|
||||
throw new IllegalStateException("Forced abacus fault"); // TODO: Add warp fault api dep
|
||||
}),
|
||||
FAULT_C(pipe -> {
|
||||
if (true == pipe.inputCarry()) {
|
||||
throw new IllegalStateException("Carry flag fault in pipe: " + pipe);
|
||||
}
|
||||
return pipe;
|
||||
}),
|
||||
FAULT_NC(pipe -> {
|
||||
if (false == pipe.inputCarry()) {
|
||||
throw new IllegalStateException("No carry fault in pipe: " + pipe);
|
||||
}
|
||||
return pipe;
|
||||
}),
|
||||
CHAIN_END ?
|
||||
*/
|
||||
CARRY_SET(pipe -> pipe.makeOutputCarry(true)),
|
||||
CARRY_CLEAR(pipe -> pipe.makeOutputCarry(false)),
|
||||
GOTO_FIRST(pipe -> pipe.makeOutput(ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO)),
|
||||
GOTO_LAST(pipe -> pipe.makeOutput(pipe.outputBoundry() - ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟONE)),
|
||||
PLUS(pipe -> {
|
||||
int result = pipe.input1() + pipe.input2();
|
||||
if (result >= pipe.outputBoundry()) {
|
||||
if (pipe.inputCarry()) {
|
||||
result = ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO;
|
||||
result = result - pipe.outputBoundry();
|
||||
} else {
|
||||
result = pipe.outputBoundry() - ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟONE;
|
||||
}
|
||||
pipe.outputCarry(true);
|
||||
}
|
||||
return pipe.outputPipe(result);
|
||||
return pipe.makeOutput(result);
|
||||
}),
|
||||
MINUS(pipe -> {
|
||||
int result = pipe.input1() - pipe.input2();
|
||||
if (result < ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO) {
|
||||
if (pipe.inputCarry()) {
|
||||
result = pipe.outputBoundry() - ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟONE;
|
||||
result = pipe.outputBoundry() + result;
|
||||
} else {
|
||||
result = ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO;
|
||||
}
|
||||
pipe.outputCarry(true);
|
||||
}
|
||||
return pipe.outputPipe(result);
|
||||
return pipe.makeOutput(result);
|
||||
}),
|
||||
BIT_AND(pipe -> pipe.outputPipe(pipe.input1() & pipe.input2())),
|
||||
BIT_OR(pipe -> pipe.outputPipe(pipe.input1() | pipe.input2())),
|
||||
BIT_AND(pipe -> pipe.makeOutput(pipe.input1() & pipe.input2())),
|
||||
BIT_OR(pipe -> pipe.makeOutput(pipe.input1() | pipe.input2())),
|
||||
SHIFT_LEFT(pipe -> {
|
||||
//TODO: add carry input and output
|
||||
pipe.output(pipe.input1() << pipe.input2());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue