reset ops used after each slate when circles are casting.
This commit is contained in:
parent
31b7577605
commit
9157ef5dcb
|
@ -273,7 +273,7 @@ public class CircleExecutionState {
|
|||
Objects.requireNonNull(env.getImpetus()), true);
|
||||
currentPos = found.getFirst();
|
||||
enteredFrom = found.getSecond();
|
||||
currentImage = cont.update;
|
||||
currentImage = cont.update.withOverriddenUsedOps(0); // reset ops used after each slate finishes executing
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -101,8 +101,7 @@ public class StaffCastEnv extends PlayerBasedCastEnv {
|
|||
IXplatAbstractions.INSTANCE.setStaffcastImage(sender, null);
|
||||
IXplatAbstractions.INSTANCE.setPatterns(sender, List.of());
|
||||
} else {
|
||||
var imageWithOpsReset = vm.getImage().copy(vm.getImage().getStack(), vm.getImage().getParenCount(), vm.getImage().getParenthesized(), vm.getImage().getEscapeNext(), 0, vm.getImage().getUserData());
|
||||
IXplatAbstractions.INSTANCE.setStaffcastImage(sender, imageWithOpsReset);
|
||||
IXplatAbstractions.INSTANCE.setStaffcastImage(sender, vm.getImage().withOverriddenUsedOps(0));
|
||||
if (!resolvedPatterns.isEmpty()) {
|
||||
resolvedPatterns.get(resolvedPatterns.size() - 1).setType(clientInfo.getResolutionType());
|
||||
}
|
||||
|
|
|
@ -34,6 +34,11 @@ data class CastingImage private constructor(
|
|||
*/
|
||||
fun withUsedOp() = this.withUsedOps(1)
|
||||
|
||||
/**
|
||||
* Returns a copy of this with the [opsConsumed] replaced with [count].
|
||||
*/
|
||||
fun withOverriddenUsedOps(count: Long) = this.copy(opsConsumed = count)
|
||||
|
||||
fun serializeToNbt() = NBTBuilder {
|
||||
TAG_STACK %= stack.serializeToNBT()
|
||||
|
||||
|
@ -54,7 +59,7 @@ data class CastingImage private constructor(
|
|||
const val TAG_USERDATA = "userdata"
|
||||
|
||||
@JvmStatic
|
||||
public fun loadFromNbt(tag: CompoundTag, world: ServerLevel): CastingImage {
|
||||
fun loadFromNbt(tag: CompoundTag, world: ServerLevel): CastingImage {
|
||||
return try {
|
||||
val stack = mutableListOf<Iota>()
|
||||
val stackTag = tag.getList(TAG_STACK, Tag.TAG_COMPOUND)
|
||||
|
|
Loading…
Reference in a new issue