Skip to content

Commit 318aba2

Browse files
committed
The Great Mojmap Switch
Yarn was great while it lasted :)
1 parent 1690acb commit 318aba2

173 files changed

Lines changed: 2376 additions & 2419 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ dependencies {
6868

6969
// To change the versions see the gradle.properties file
7070
minecraft "com.mojang:minecraft:${project.minecraft_version}"
71-
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
71+
mappings loom.officialMojangMappings()
7272
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
7373

7474
// Fabric API. This is technically optional, but you probably want it anyway.

src/main/java/net/azureaaron/mod/Colour.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import net.azureaaron.mod.config.AaronModConfigManager;
77
import net.azureaaron.mod.config.configs.GeneralConfig;
88
import net.azureaaron.mod.utils.OkLabColour;
9-
import net.minecraft.util.math.MathHelper;
9+
import net.minecraft.util.Mth;
1010

1111
public class Colour {
1212
private static final Supplier<GeneralConfig.CustomColourProfile> CUSTOM = () -> AaronModConfigManager.get().general.customColourProfile;
@@ -56,13 +56,13 @@ public int gradient(double percentage) {
5656

5757
//Credit to https://codepen.io/OliverBalfour/post/programmatically-making-gradients
5858
public static int interpolate(int firstColour, int secondColour, double percentage) {
59-
int r1 = MathHelper.square((firstColour >> 16) & 0xFF);
60-
int g1 = MathHelper.square((firstColour >> 8) & 0xFF);
61-
int b1 = MathHelper.square(firstColour & 0xFF);
59+
int r1 = Mth.square((firstColour >> 16) & 0xFF);
60+
int g1 = Mth.square((firstColour >> 8) & 0xFF);
61+
int b1 = Mth.square(firstColour & 0xFF);
6262

63-
int r2 = MathHelper.square((secondColour >> 16) & 0xFF);
64-
int g2 = MathHelper.square((secondColour >> 8) & 0xFF);
65-
int b2 = MathHelper.square(secondColour & 0xFF);
63+
int r2 = Mth.square((secondColour >> 16) & 0xFF);
64+
int g2 = Mth.square((secondColour >> 8) & 0xFF);
65+
int b2 = Mth.square(secondColour & 0xFF);
6666

6767
double inverse = 1d - percentage;
6868

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package net.azureaaron.mod;
22

3-
import net.minecraft.client.option.KeyBinding;
3+
import net.minecraft.client.KeyMapping;
44

55
public class Keybinds {
6-
public static KeyBinding zoomKeybind;
6+
public static KeyMapping zoomKeybind;
77
}

src/main/java/net/azureaaron/mod/Main.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import com.google.gson.Gson;
88
import com.google.gson.GsonBuilder;
9-
9+
import com.mojang.blaze3d.platform.InputConstants;
1010
import net.azureaaron.mod.annotations.Init;
1111
import net.azureaaron.mod.config.AaronModConfigManager;
1212
import net.azureaaron.mod.config.datafixer.ConfigDataFixer;
@@ -17,21 +17,20 @@
1717
import net.fabricmc.loader.api.FabricLoader;
1818
import net.fabricmc.loader.api.ModContainer;
1919
import net.minecraft.SharedConstants;
20-
import net.minecraft.client.MinecraftClient;
21-
import net.minecraft.client.option.KeyBinding;
22-
import net.minecraft.client.util.InputUtil;
23-
import net.minecraft.util.Identifier;
20+
import net.minecraft.client.KeyMapping;
21+
import net.minecraft.client.Minecraft;
22+
import net.minecraft.resources.Identifier;
2423

2524
public class Main implements ClientModInitializer {
2625
public static final Logger LOGGER = LoggerFactory.getLogger("aaron-mod");
2726
public static final String NAMESPACE = "aaron-mod";
2827
public static final boolean OPTIFABRIC_LOADED = FabricLoader.getInstance().isModLoaded("optifabric");
2928
public static final ModContainer MOD_CONTAINER = FabricLoader.getInstance().getModContainer("aaron-mod").get();
3029
public static final String MOD_VERSION = MOD_CONTAINER.getMetadata().getVersion().getFriendlyString();
31-
public static final String MINECRAFT_VERSION = SharedConstants.getGameVersion().name();
30+
public static final String MINECRAFT_VERSION = SharedConstants.getCurrentVersion().name();
3231
public static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
3332
public static final Gson GSON_PLAIN = new GsonBuilder().create();
34-
public static final KeyBinding.Category KEYBINDING_CATEGORY = KeyBinding.Category.create(Identifier.of(NAMESPACE, "main"));
33+
public static final KeyMapping.Category KEYBINDING_CATEGORY = KeyMapping.Category.register(Identifier.fromNamespaceAndPath(NAMESPACE, "main"));
3534

3635
@Override
3736
public void onInitializeClient() {
@@ -44,7 +43,7 @@ public void onInitializeClient() {
4443
init();
4544
}
4645

47-
private static void tick(MinecraftClient client) {
46+
private static void tick(Minecraft client) {
4847
Scheduler.INSTANCE.tick();
4948
}
5049

@@ -59,10 +58,10 @@ private static void init() {}
5958
@Init
6059
public static void registerKeybindings() {
6160
//I used to cheat the translation key system but now I abide by it :)
62-
Keybinds.zoomKeybind = KeyBindingHelper.registerKeyBinding(new KeyBinding("key.aaron-mod.zoom", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_C, KEYBINDING_CATEGORY));
61+
Keybinds.zoomKeybind = KeyBindingHelper.registerKeyBinding(new KeyMapping("key.aaron-mod.zoom", InputConstants.Type.KEYSYM, GLFW.GLFW_KEY_C, KEYBINDING_CATEGORY));
6362
}
6463

6564
public static Identifier id(String path) {
66-
return Identifier.of(NAMESPACE, path);
65+
return Identifier.fromNamespaceAndPath(NAMESPACE, path);
6766
}
6867
}

src/main/java/net/azureaaron/mod/Particles.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
import net.azureaaron.mod.config.ConfigUtils;
1414
import net.azureaaron.mod.mixins.accessors.BillboardParticleAccessor;
1515
import net.azureaaron.mod.utils.Functions;
16-
import net.minecraft.client.particle.BillboardParticle;
1716
import net.minecraft.client.particle.Particle;
18-
import net.minecraft.particle.ParticleType;
19-
import net.minecraft.particle.ParticleTypes;
20-
import net.minecraft.registry.Registries;
21-
import net.minecraft.registry.RegistryKey;
22-
import net.minecraft.text.Text;
23-
import net.minecraft.util.Identifier;
17+
import net.minecraft.client.particle.SingleQuadParticle;
18+
import net.minecraft.core.particles.ParticleType;
19+
import net.minecraft.core.particles.ParticleTypes;
20+
import net.minecraft.core.registries.BuiltInRegistries;
21+
import net.minecraft.network.chat.Component;
22+
import net.minecraft.resources.Identifier;
23+
import net.minecraft.resources.ResourceKey;
2424
import net.minecraft.util.Util;
2525

2626
public class Particles {
@@ -49,7 +49,7 @@ public static Particle modifyParticle(Particle particle, Identifier id) {
4949
float scale = AaronModConfigManager.get().particles.scaling.getOrDefault(id, 1f);
5050

5151
//Only set the alpha if won't result in the particle being discarded by the fragment shader or if its not greater than the default
52-
if (particle instanceof BillboardParticle billboard && billboard instanceof BillboardParticleAccessor accessor && alpha > 0.1f && alpha < accessor.getAlpha()) {
52+
if (particle instanceof SingleQuadParticle billboard && billboard instanceof BillboardParticleAccessor accessor && alpha > 0.1f && alpha < accessor.getAlpha()) {
5353
accessor.invokeSetAlpha(alpha);
5454
billboard.markHasCustomAlpha();
5555
}
@@ -63,48 +63,48 @@ private static String getParticleDisplayName(String id) {
6363

6464
public static List<OptionGroup> getOptionGroups(AaronModConfig config) {
6565
List<OptionGroup> list = new ArrayList<>();
66-
List<Entry<RegistryKey<ParticleType<?>>, ParticleType<?>>> entryList = new ArrayList<>(Registries.PARTICLE_TYPE.getEntrySet());
66+
List<Entry<ResourceKey<ParticleType<?>>, ParticleType<?>>> entryList = new ArrayList<>(BuiltInRegistries.PARTICLE_TYPE.entrySet());
6767

6868
// Alphabetically sort the entries for logical ordering
6969
entryList.sort((o1, o2) -> {
70-
String o1Name = getParticleDisplayName(o1.getKey().getValue().toString());
71-
String o2Name = getParticleDisplayName(o2.getKey().getValue().toString());
70+
String o1Name = getParticleDisplayName(o1.getKey().identifier().toString());
71+
String o2Name = getParticleDisplayName(o2.getKey().identifier().toString());
7272

7373
return o1Name.compareTo(o2Name);
7474
});
7575

76-
for (Entry<RegistryKey<ParticleType<?>>, ParticleType<?>> entry : entryList) {
76+
for (Entry<ResourceKey<ParticleType<?>>, ParticleType<?>> entry : entryList) {
7777
ParticleType<?> particleType = entry.getValue();
78-
Identifier id = entry.getKey().getValue();
78+
Identifier id = entry.getKey().identifier();
7979

8080
String name = getParticleDisplayName(id.getPath());
8181
String namespaceName = getParticleDisplayName(id.getNamespace());
82-
Text description = PARTICLE_DESCRIPTIONS.containsKey(particleType) ? Text.literal(PARTICLE_DESCRIPTIONS.get(particleType)) : Text.empty();
82+
Component description = PARTICLE_DESCRIPTIONS.containsKey(particleType) ? Component.literal(PARTICLE_DESCRIPTIONS.get(particleType)) : Component.empty();
8383

8484
list.add(OptionGroup.createBuilder()
85-
.name(Text.literal(name + " Particles (" + namespaceName + ")"))
85+
.name(Component.literal(name + " Particles (" + namespaceName + ")"))
8686
.description(description)
8787
.collapsed(true)
8888

8989
//Toggle
9090
.option(Option.<Boolean>createBuilder()
91-
.name(Text.literal("Enable " + name))
91+
.name(Component.literal("Enable " + name))
9292
.binding(true,
9393
() -> config.particles.states.getOrDefault(id, true),
9494
newValue -> config.particles.states.put(id, newValue.booleanValue()))
9595
.modifiable(!Main.OPTIFABRIC_LOADED)
9696
.controller(ConfigUtils.createBooleanController())
9797
.build())
9898
.option(Option.<Float>createBuilder()
99-
.name(Text.literal(name + " Scale Multiplier"))
99+
.name(Component.literal(name + " Scale Multiplier"))
100100
.binding(1f,
101101
() -> config.particles.scaling.getOrDefault(id, 1f),
102102
newValue -> config.particles.scaling.put(id, newValue.floatValue()))
103103
.modifiable(!Main.OPTIFABRIC_LOADED)
104104
.controller(FloatController.createBuilder().range(0f, 20f).build())
105105
.build())
106106
.option(Option.<Float>createBuilder()
107-
.name(Text.literal(name + " Opacity"))
107+
.name(Component.literal(name + " Opacity"))
108108
.binding(1f,
109109
() -> config.particles.alphas.getOrDefault(id, 1f),
110110
newValue -> config.particles.alphas.put(id, newValue.floatValue()))

src/main/java/net/azureaaron/mod/codecs/LootCodec.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22

33
import java.util.HashMap;
44
import java.util.Map;
5-
5+
import net.minecraft.world.item.ItemStack;
66
import com.mojang.serialization.Codec;
77

8-
import net.minecraft.item.ItemStack;
9-
108
public class LootCodec {
119

1210
public static final Codec<Map<String, ItemStack>> RARE_LOOT_CODEC = Codec.unboundedMap(Codec.STRING, ItemStack.CODEC);

src/main/java/net/azureaaron/mod/commands/ClientTextArgumentType.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,37 +10,37 @@
1010
import com.mojang.brigadier.exceptions.DynamicCommandExceptionType;
1111

1212
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
13-
import net.minecraft.nbt.NbtElement;
1413
import net.minecraft.nbt.NbtOps;
15-
import net.minecraft.nbt.SnbtParsing;
16-
import net.minecraft.text.Text;
17-
import net.minecraft.text.TextCodecs;
18-
import net.minecraft.util.packrat.Parser;
14+
import net.minecraft.nbt.SnbtGrammar;
15+
import net.minecraft.nbt.Tag;
16+
import net.minecraft.network.chat.Component;
17+
import net.minecraft.network.chat.ComponentSerialization;
18+
import net.minecraft.util.parsing.packrat.commands.CommandArgumentParser;
1919

20-
public class ClientTextArgumentType implements ArgumentType<Text> {
20+
public class ClientTextArgumentType implements ArgumentType<Component> {
2121
private static final Collection<String> EXAMPLES = Arrays.asList("\"hello world\"", "\"\"",
2222
"\"{\"text\":\"hello world\"}", "[\"\"]");
2323
public static final DynamicCommandExceptionType INVALID_COMPONENT_EXCEPTION = new DynamicCommandExceptionType(
24-
text -> Text.translatable("argument.component.invalid", text));
25-
private static final Parser<NbtElement> PARSER = SnbtParsing.createParser(NbtOps.INSTANCE);
24+
text -> Component.translatable("argument.component.invalid", text));
25+
private static final CommandArgumentParser<Tag> PARSER = SnbtGrammar.createParser(NbtOps.INSTANCE);
2626

2727
private ClientTextArgumentType() {}//TextArgumentType
2828

29-
public static Text getTextArgument(CommandContext<FabricClientCommandSource> context, String name) {
30-
return context.getArgument(name, Text.class);
29+
public static Component getTextArgument(CommandContext<FabricClientCommandSource> context, String name) {
30+
return context.getArgument(name, Component.class);
3131
}
3232

3333
public static ClientTextArgumentType text() {
3434
return new ClientTextArgumentType();
3535
}
3636

3737
@Override
38-
public Text parse(StringReader stringReader) throws CommandSyntaxException {
38+
public Component parse(StringReader stringReader) throws CommandSyntaxException {
3939
//Convert &z to §z
4040
String str = stringReader.getRemaining().replaceAll("&z", "§z").replaceAll("&Z", "§Z");
4141
StringReader reader = new StringReader(str);
4242
try {
43-
Text text = PARSER.withDecoding(NbtOps.INSTANCE, PARSER, TextCodecs.CODEC, INVALID_COMPONENT_EXCEPTION).parse(reader);
43+
Component text = PARSER.withCodec(NbtOps.INSTANCE, PARSER, ComponentSerialization.CODEC, INVALID_COMPONENT_EXCEPTION).parseForCommands(reader);
4444
if (text == null) {
4545
throw INVALID_COMPONENT_EXCEPTION.createWithContext(reader, "empty");
4646
}

src/main/java/net/azureaaron/mod/commands/Command.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import com.mojang.brigadier.CommandDispatcher;
44

55
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
6-
import net.minecraft.command.CommandRegistryAccess;
6+
import net.minecraft.commands.CommandBuildContext;
77

88
/**
99
* Interface inherited by nearly all commands for the purpose of registering them without exposing their implementation.
1010
*/
1111
public sealed interface Command permits SkyblockCommand, VanillaCommand {
1212

13-
void register(CommandDispatcher<FabricClientCommandSource> dispatcher, CommandRegistryAccess registryAccess);
13+
void register(CommandDispatcher<FabricClientCommandSource> dispatcher, CommandBuildContext registryAccess);
1414
}

src/main/java/net/azureaaron/mod/commands/CommandSystem.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
import net.azureaaron.mod.utils.Messages;
1818
import net.azureaaron.mod.utils.Skyblock;
1919
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
20-
import net.minecraft.client.MinecraftClient;
21-
import net.minecraft.client.font.TextRenderer;
22-
import net.minecraft.client.session.Session;
23-
import net.minecraft.text.Text;
20+
import net.minecraft.client.Minecraft;
21+
import net.minecraft.client.User;
22+
import net.minecraft.client.gui.Font;
23+
import net.minecraft.network.chat.Component;
2424

2525
/**
2626
* Provides core functionality for the mod's commands.
@@ -29,20 +29,20 @@
2929
*/
3030
public class CommandSystem {
3131
private static final Logger LOGGER = LogUtils.getLogger();
32-
private static final Supplier<TextRenderer> TEXT_RENDERER = () -> MinecraftClient.getInstance().textRenderer;
32+
private static final Supplier<Font> TEXT_RENDERER = () -> Minecraft.getInstance().font;
3333

3434
/**
3535
* Ensures that "dummy" players aren't included in command suggestions
3636
*/
3737
public static String[] getPlayerSuggestions(FabricClientCommandSource source) {
38-
return source.getPlayerNames().stream().filter(playerName -> playerName.matches("[A-Za-z0-9_]+")).toArray(String[]::new);
38+
return source.getOnlinePlayerNames().stream().filter(playerName -> playerName.matches("[A-Za-z0-9_]+")).toArray(String[]::new);
3939
}
4040

41-
public static String getEndSpaces(Text text) {
42-
TextRenderer textRenderer = TEXT_RENDERER.get();
41+
public static String getEndSpaces(Component text) {
42+
Font textRenderer = TEXT_RENDERER.get();
4343

44-
int spaceWidth = textRenderer.getWidth(" ");
45-
int textWidth = textRenderer.getWidth(TextReplacer.visuallyReplaceText(text.asOrderedText()));
44+
int spaceWidth = textRenderer.width(" ");
45+
int textWidth = textRenderer.width(TextReplacer.visuallyReplaceText(text.getVisualOrderText()));
4646
int spacesNeeded = (int) Math.ceil((double) textWidth / (double) spaceWidth);
4747

4848
String spaces = "";
@@ -58,9 +58,9 @@ public static String getEndSpaces(Text text) {
5858
* Handles the command for the current player
5959
*/
6060
public static int handleSelf4Skyblock(SkyblockCommand command, FabricClientCommandSource source) {
61-
Session session = source.getClient().getSession();
61+
User session = source.getClient().getUser();
6262

63-
return handleSkyblockCommand(command, source, new CommandPlayerData(session.getUsername(), session.getUuidOrNull().toString().replaceAll("-", "")));
63+
return handleSkyblockCommand(command, source, new CommandPlayerData(session.getName(), session.getProfileId().toString().replaceAll("-", "")));
6464
}
6565

6666
/**
@@ -125,10 +125,10 @@ private static int handleSkyblockCommand(SkyblockCommand command, FabricClientCo
125125
}
126126

127127
public static int handleSelf4Vanilla(VanillaCommand command, FabricClientCommandSource source) {
128-
Session session = source.getClient().getSession();
128+
User session = source.getClient().getUser();
129129

130130
try {
131-
command.print(source, session.getUsername(), session.getUuidOrNull().toString().replaceAll("-", ""));
131+
command.print(source, session.getName(), session.getProfileId().toString().replaceAll("-", ""));
132132
} catch (Throwable t) {
133133
source.sendError(Messages.UNKNOWN_ERROR.get());
134134
LOGGER.error("[Aaron's Mod] Encountered an exception while dispatching a vanilla command! Command: {}", command.getClass().getName(), t);

src/main/java/net/azureaaron/mod/commands/ModScreenCommand.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import net.azureaaron.mod.utils.render.hud.HudElementConfigScreen;
1212
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
1313
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
14-
import net.minecraft.client.MinecraftClient;
15-
import net.minecraft.command.CommandRegistryAccess;
14+
import net.minecraft.client.Minecraft;
15+
import net.minecraft.commands.CommandBuildContext;
1616

1717
public class ModScreenCommand {
1818

@@ -21,7 +21,7 @@ public static void init() {
2121
ClientCommandRegistrationCallback.EVENT.register(ModScreenCommand::register);
2222
}
2323

24-
private static void register(CommandDispatcher<FabricClientCommandSource> dispatcher, CommandRegistryAccess registryAccess) {
24+
private static void register(CommandDispatcher<FabricClientCommandSource> dispatcher, CommandBuildContext registryAccess) {
2525
dispatcher.register(literal("aaronmod")
2626
.executes(context -> handleOpenModScreen(context.getSource()))
2727
.then(literal("config")
@@ -33,22 +33,22 @@ private static void register(CommandDispatcher<FabricClientCommandSource> dispat
3333
}
3434

3535
private static int handleOpenModScreen(FabricClientCommandSource source) {
36-
MinecraftClient client = source.getClient();
37-
client.send(() -> client.setScreen(new ModScreen(null)));
36+
Minecraft client = source.getClient();
37+
client.schedule(() -> client.setScreen(new ModScreen(null)));
3838

3939
return Command.SINGLE_SUCCESS;
4040
}
4141

4242
private static int handleOpenConfig(FabricClientCommandSource source) {
43-
MinecraftClient client = source.getClient();
44-
client.send(() -> client.setScreen(AaronModConfigManager.createGui(null)));
43+
Minecraft client = source.getClient();
44+
client.schedule(() -> client.setScreen(AaronModConfigManager.createGui(null)));
4545

4646
return Command.SINGLE_SUCCESS;
4747
}
4848

4949
private static int handleOpenHudConfig(FabricClientCommandSource source) {
50-
MinecraftClient client = source.getClient();
51-
client.send(() -> client.setScreen(new HudElementConfigScreen(null)));
50+
Minecraft client = source.getClient();
51+
client.schedule(() -> client.setScreen(new HudElementConfigScreen(null)));
5252

5353
return Command.SINGLE_SUCCESS;
5454
}

0 commit comments

Comments
 (0)