package net.minecraft.resources; import com.mojang.datafixers.util.Pair; import com.mojang.serialization.DataResult; import com.mojang.serialization.DynamicOps; import com.mojang.serialization.Encoder; import com.mojang.serialization.Lifecycle; import com.mojang.serialization.ListBuilder; import com.mojang.serialization.MapLike; import com.mojang.serialization.RecordBuilder; import java.nio.ByteBuffer; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.UnaryOperator; import java.util.stream.IntStream; import java.util.stream.LongStream; import java.util.stream.Stream; public abstract class DelegatingOps implements DynamicOps { protected final DynamicOps delegate; protected DelegatingOps(DynamicOps p_135467_) { this.delegate = p_135467_; } @Override public T empty() { return this.delegate.empty(); } @Override public T emptyMap() { return this.delegate.emptyMap(); } @Override public T emptyList() { return this.delegate.emptyList(); } @Override public U convertTo(DynamicOps p_135470_, T p_135471_) { return (U)(Objects.equals(p_135470_, this.delegate) ? p_135471_ : this.delegate.convertTo(p_135470_, p_135471_)); } @Override public DataResult getNumberValue(T p_135518_) { return this.delegate.getNumberValue(p_135518_); } @Override public T createNumeric(Number p_135495_) { return this.delegate.createNumeric(p_135495_); } @Override public T createByte(byte p_135475_) { return this.delegate.createByte(p_135475_); } @Override public T createShort(short p_135497_) { return this.delegate.createShort(p_135497_); } @Override public T createInt(int p_135483_) { return this.delegate.createInt(p_135483_); } @Override public T createLong(long p_135489_) { return this.delegate.createLong(p_135489_); } @Override public T createFloat(float p_135481_) { return this.delegate.createFloat(p_135481_); } @Override public T createDouble(double p_135479_) { return this.delegate.createDouble(p_135479_); } @Override public DataResult getBooleanValue(T p_135502_) { return this.delegate.getBooleanValue(p_135502_); } @Override public T createBoolean(boolean p_135473_) { return this.delegate.createBoolean(p_135473_); } @Override public DataResult getStringValue(T p_135522_) { return this.delegate.getStringValue(p_135522_); } @Override public T createString(String p_135499_) { return this.delegate.createString(p_135499_); } @Override public DataResult mergeToList(T p_135526_, T p_135527_) { return this.delegate.mergeToList(p_135526_, p_135527_); } @Override public DataResult mergeToList(T p_135529_, List p_135530_) { return this.delegate.mergeToList(p_135529_, p_135530_); } @Override public DataResult mergeToMap(T p_135535_, T p_135536_, T p_135537_) { return this.delegate.mergeToMap(p_135535_, p_135536_, p_135537_); } @Override public DataResult mergeToMap(T p_135532_, MapLike p_135533_) { return this.delegate.mergeToMap(p_135532_, p_135533_); } @Override public DataResult mergeToMap(T p_335567_, Map p_327772_) { return this.delegate.mergeToMap(p_335567_, p_327772_); } @Override public DataResult mergeToPrimitive(T p_330125_, T p_335137_) { return this.delegate.mergeToPrimitive(p_330125_, p_335137_); } @Override public DataResult>> getMapValues(T p_135516_) { return this.delegate.getMapValues(p_135516_); } @Override public DataResult>> getMapEntries(T p_135514_) { return this.delegate.getMapEntries(p_135514_); } @Override public T createMap(Map p_336013_) { return this.delegate.createMap(p_336013_); } @Override public T createMap(Stream> p_135493_) { return this.delegate.createMap(p_135493_); } @Override public DataResult> getMap(T p_135512_) { return this.delegate.getMap(p_135512_); } @Override public DataResult> getStream(T p_135520_) { return this.delegate.getStream(p_135520_); } @Override public DataResult>> getList(T p_135508_) { return this.delegate.getList(p_135508_); } @Override public T createList(Stream p_135487_) { return this.delegate.createList(p_135487_); } @Override public DataResult getByteBuffer(T p_135504_) { return this.delegate.getByteBuffer(p_135504_); } @Override public T createByteList(ByteBuffer p_135477_) { return this.delegate.createByteList(p_135477_); } @Override public DataResult getIntStream(T p_135506_) { return this.delegate.getIntStream(p_135506_); } @Override public T createIntList(IntStream p_135485_) { return this.delegate.createIntList(p_135485_); } @Override public DataResult getLongStream(T p_135510_) { return this.delegate.getLongStream(p_135510_); } @Override public T createLongList(LongStream p_135491_) { return this.delegate.createLongList(p_135491_); } @Override public T remove(T p_135539_, String p_135540_) { return this.delegate.remove(p_135539_, p_135540_); } @Override public boolean compressMaps() { return this.delegate.compressMaps(); } @Override public ListBuilder listBuilder() { return new DelegatingOps.DelegateListBuilder(this.delegate.listBuilder()); } @Override public RecordBuilder mapBuilder() { return new DelegatingOps.DelegateRecordBuilder(this.delegate.mapBuilder()); } protected class DelegateListBuilder implements ListBuilder { private final ListBuilder original; protected DelegateListBuilder(final ListBuilder p_395521_) { this.original = p_395521_; } @Override public DynamicOps ops() { return DelegatingOps.this; } @Override public DataResult build(T p_393497_) { return this.original.build(p_393497_); } @Override public ListBuilder add(T p_397871_) { this.original.add(p_397871_); return this; } @Override public ListBuilder add(DataResult p_393700_) { this.original.add(p_393700_); return this; } @Override public ListBuilder add(E p_393952_, Encoder p_393440_) { this.original.add(p_393440_.encodeStart(this.ops(), p_393952_)); return this; } @Override public ListBuilder addAll(Iterable p_396633_, Encoder p_396833_) { p_396633_.forEach(p_395457_ -> this.original.add(p_396833_.encode((E)p_395457_, this.ops(), (T)this.ops().empty()))); return this; } @Override public ListBuilder withErrorsFrom(DataResult p_393779_) { this.original.withErrorsFrom(p_393779_); return this; } @Override public ListBuilder mapError(UnaryOperator p_394496_) { this.original.mapError(p_394496_); return this; } @Override public DataResult build(DataResult p_392507_) { return this.original.build(p_392507_); } } protected class DelegateRecordBuilder implements RecordBuilder { private final RecordBuilder original; protected DelegateRecordBuilder(final RecordBuilder p_397773_) { this.original = p_397773_; } @Override public DynamicOps ops() { return DelegatingOps.this; } @Override public RecordBuilder add(T p_391780_, T p_393356_) { this.original.add(p_391780_, p_393356_); return this; } @Override public RecordBuilder add(T p_391456_, DataResult p_395058_) { this.original.add(p_391456_, p_395058_); return this; } @Override public RecordBuilder add(DataResult p_394017_, DataResult p_393031_) { this.original.add(p_394017_, p_393031_); return this; } @Override public RecordBuilder add(String p_393508_, T p_391722_) { this.original.add(p_393508_, p_391722_); return this; } @Override public RecordBuilder add(String p_396615_, DataResult p_397821_) { this.original.add(p_396615_, p_397821_); return this; } @Override public RecordBuilder add(String p_397286_, E p_391361_, Encoder p_397772_) { return this.original.add(p_397286_, p_397772_.encodeStart(this.ops(), p_391361_)); } @Override public RecordBuilder withErrorsFrom(DataResult p_391664_) { this.original.withErrorsFrom(p_391664_); return this; } @Override public RecordBuilder setLifecycle(Lifecycle p_392189_) { this.original.setLifecycle(p_392189_); return this; } @Override public RecordBuilder mapError(UnaryOperator p_391221_) { this.original.mapError(p_391221_); return this; } @Override public DataResult build(T p_397011_) { return this.original.build(p_397011_); } @Override public DataResult build(DataResult p_392992_) { return this.original.build(p_392992_); } } }