Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
at master 39 lines 1.1 kB view raw
1package net.lerariemann.infinity.options; 2 3import net.lerariemann.infinity.util.core.NbtUtils; 4import net.minecraft.nbt.CompoundTag; 5import java.util.function.Function; 6 7import static net.lerariemann.infinity.util.core.NbtUtils.getFloat; 8 9public interface PitchShifter { 10 Function<Float, Float> applier(); 11 12 enum Empty implements PitchShifter { 13 INSTANCE; 14 @Override 15 public Function<Float, Float> applier() { 16 return Function.identity(); 17 } 18 } 19 record Constant(float value) implements PitchShifter { 20 @Override 21 public Function<Float, Float> applier() { 22 return f -> value; 23 } 24 } 25 record Add(float value) implements PitchShifter { 26 @Override 27 public Function<Float, Float> applier() { 28 return f -> f + value; 29 } 30 } 31 32 static PitchShifter decode(CompoundTag comp) { 33 return switch(NbtUtils.getString(comp, "type")) { 34 case "constant" -> new Constant(getFloat(comp, "value", 1)); 35 case "add" -> new Add(getFloat(comp, "value", 1)); 36 default -> Empty.INSTANCE; 37 }; 38 } 39}