Skip to content

Commit 8b546da

Browse files
authored
Merge pull request #74 from bigsir24/7.3
Add entrypoint for initializing Options
2 parents d33157e + 06e200a commit 8b546da

15 files changed

Lines changed: 43 additions & 44 deletions

src/main/java/turniplabs/halplibe/mixin/AtlasStitcherMixin.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,14 @@
44
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
55
import net.minecraft.client.render.texture.Texture;
66
import net.minecraft.client.render.texture.stitcher.AtlasStitcher;
7-
import net.minecraft.client.render.texture.stitcher.IconCoordinate;
8-
import net.minecraft.core.util.collection.NamespaceID;
9-
import org.spongepowered.asm.mixin.Final;
107
import org.spongepowered.asm.mixin.Mixin;
11-
import org.spongepowered.asm.mixin.Shadow;
128
import org.spongepowered.asm.mixin.injection.At;
13-
import turniplabs.halplibe.HalpLibe;
149

1510
import java.awt.image.BufferedImage;
16-
import java.util.Map;
1711

1812
@SuppressWarnings("SuspiciousNameCombination")
1913
@Mixin(value = AtlasStitcher.class,remap = false)
20-
public class AtlasStitcherMixin extends Texture {
14+
public abstract class AtlasStitcherMixin extends Texture {
2115

2216
@WrapOperation(method = "init", at = @At(value = "NEW", target = "(III)Ljava/awt/image/BufferedImage;"))
2317
public BufferedImage init(int width, int height, int imageType, Operation<BufferedImage> original){
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package turniplabs.halplibe.mixin;
2+
3+
import net.fabricmc.loader.api.FabricLoader;
4+
import net.minecraft.client.Minecraft;
5+
import net.minecraft.client.option.GameSettings;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.injection.At;
8+
import org.spongepowered.asm.mixin.injection.Inject;
9+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
10+
import turniplabs.halplibe.util.OptionsInitEntrypoint;
11+
12+
import java.io.File;
13+
14+
@Mixin(value = GameSettings.class, remap = false)
15+
public abstract class GameSettingsMixin {
16+
@Inject(method = "<init>", at = @At(value = "NEW", target = "(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;"))
17+
public void initOptions(Minecraft minecraft, File file, CallbackInfo ci) {
18+
GameSettings settings = (GameSettings) (Object) this;
19+
20+
FabricLoader.getInstance().getEntrypoints("initOptions", OptionsInitEntrypoint.class).forEach(e -> e.initOptions(settings));
21+
}
22+
}

src/main/java/turniplabs/halplibe/mixin/MinecraftMixin.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,14 @@
88
import org.spongepowered.asm.mixin.injection.Inject;
99
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1010
import turniplabs.halplibe.helper.network.NetworkHandler;
11-
12-
import turniplabs.halplibe.util.BlockInitEntrypoint;
13-
import turniplabs.halplibe.util.ClientStartEntrypoint;
14-
import turniplabs.halplibe.util.GameStartEntrypoint;
15-
import turniplabs.halplibe.util.ItemInitEntrypoint;
16-
import turniplabs.halplibe.util.RecipeEntrypoint;
11+
import turniplabs.halplibe.util.*;
1712

1813
@Mixin(
1914
value = Minecraft.class,
2015
remap = false
2116
)
2217

23-
public class MinecraftMixin {
18+
public abstract class MinecraftMixin {
2419

2520
@Inject(method = "startGame", at = @At(value = "INVOKE",target = "Lnet/minecraft/core/data/DataLoader;loadRecipesFromFile(Ljava/lang/String;)V", ordinal = 3, shift = At.Shift.AFTER))
2621
public void recipeEntrypoint(CallbackInfo ci){
@@ -43,12 +38,12 @@ public void afterGameStartEntrypoint(CallbackInfo ci){
4338

4439
@Inject(method = "startGame", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/block/Blocks;init()V", shift = At.Shift.AFTER))
4540
public void afterBlockInitEntrypoint(CallbackInfo ci) {
46-
FabricLoader.getInstance().getEntrypoints("afterBlockInit", BlockInitEntrypoint.class).forEach(BlockInitEntrypoint::afterBlockInit);;
41+
FabricLoader.getInstance().getEntrypoints("afterBlockInit", BlockInitEntrypoint.class).forEach(BlockInitEntrypoint::afterBlockInit);
4742
}
4843

4944
@Inject(method = "startGame", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/item/Items;init()V", shift = At.Shift.AFTER))
5045
public void afterItemInitEntrypoint(CallbackInfo ci) {
51-
FabricLoader.getInstance().getEntrypoints("afterItemInit", ItemInitEntrypoint.class).forEach(ItemInitEntrypoint::afterItemInit);;
46+
FabricLoader.getInstance().getEntrypoints("afterItemInit", ItemInitEntrypoint.class).forEach(ItemInitEntrypoint::afterItemInit);
5247
}
5348

5449
@Inject(method = "printWrongJavaVersionInfo", at = @At("HEAD"), cancellable = true)

src/main/java/turniplabs/halplibe/mixin/MinecraftServerMixin.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import turniplabs.halplibe.util.RecipeEntrypoint;
1616

1717
@Mixin(value = MinecraftServer.class, remap = false)
18-
public class MinecraftServerMixin {
18+
public abstract class MinecraftServerMixin {
1919
@Shadow private static MinecraftServer instance;
2020

2121
@Inject(method = "startServer", at = @At(value = "INVOKE",target = "Lnet/minecraft/core/data/DataLoader;loadRecipesFromFile(Ljava/lang/String;)V", ordinal = 3, shift = At.Shift.AFTER))
@@ -38,12 +38,12 @@ public void afterGameStartEntrypoint(CallbackInfoReturnable<Boolean> cir){
3838

3939
@Inject(method = "startServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/block/Blocks;init()V", shift = At.Shift.AFTER))
4040
public void afterBlockInitEntrypoint(CallbackInfoReturnable<Boolean> cir) {
41-
FabricLoader.getInstance().getEntrypoints("afterBlockInit", BlockInitEntrypoint.class).forEach(BlockInitEntrypoint::afterBlockInit);;
41+
FabricLoader.getInstance().getEntrypoints("afterBlockInit", BlockInitEntrypoint.class).forEach(BlockInitEntrypoint::afterBlockInit);
4242
}
4343

4444
@Inject(method = "startServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/item/Items;init()V", shift = At.Shift.AFTER))
4545
public void afterItemInitEntrypoint(CallbackInfoReturnable<Boolean> cir) {
46-
FabricLoader.getInstance().getEntrypoints("afterItemInit", ItemInitEntrypoint.class).forEach(ItemInitEntrypoint::afterItemInit);;
46+
FabricLoader.getInstance().getEntrypoints("afterItemInit", ItemInitEntrypoint.class).forEach(ItemInitEntrypoint::afterItemInit);
4747
}
4848

4949
/*

src/main/java/turniplabs/halplibe/mixin/MobCreeperMixin.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import net.minecraft.core.item.ItemStack;
88
import net.minecraft.core.world.World;
99
import org.jetbrains.annotations.Nullable;
10-
import org.spongepowered.asm.mixin.Intrinsic;
1110
import org.spongepowered.asm.mixin.Mixin;
1211
import org.spongepowered.asm.mixin.injection.At;
1312
import org.spongepowered.asm.mixin.injection.Inject;

src/main/java/turniplabs/halplibe/mixin/PacketHandlerClientMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import turniplabs.halplibe.util.RecipeEntrypoint;
1313

1414
@Mixin(value = PacketHandlerClient.class,remap = false)
15-
public class PacketHandlerClientMixin {
15+
public abstract class PacketHandlerClientMixin {
1616
@Inject(method = "handleLogin", at = @At(value = "TAIL"))
1717
public void handleLogin(PacketLogin packet1login, CallbackInfo ci) {
1818
FabricLoader.getInstance().getEntrypoints("recipesReady", RecipeEntrypoint.class).forEach(RecipeEntrypoint::initNamespaces);

src/main/java/turniplabs/halplibe/mixin/PacketHandlerLoginMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import turniplabs.halplibe.helper.network.NetworkHandler;
1212

1313
@Mixin(value = PacketHandlerLogin.class, remap = false)
14-
public class PacketHandlerLoginMixin {
14+
public abstract class PacketHandlerLoginMixin {
1515
@Inject(method = "doLogin(Lnet/minecraft/core/net/packet/PacketLogin;)V", at = @At(value = "INVOKE",
1616
target = "Lnet/minecraft/server/net/handler/PacketHandlerServer;sendPacket(Lnet/minecraft/core/net/packet/Packet;)V",
1717
ordinal = 0, shift = At.Shift.AFTER),

src/main/java/turniplabs/halplibe/mixin/PacketHandlerServerMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import turniplabs.halplibe.helper.network.UniversalPacket;
1010

1111
@Mixin(value = PacketHandlerServer.class,remap = false)
12-
public class PacketHandlerServerMixin {
12+
public abstract class PacketHandlerServerMixin {
1313
@Inject(method = "handleCustomPayload", at = @At(value = "TAIL"))
1414
public void handleCustomPayload(PacketCustomPayload customPayloadPacket, CallbackInfo ci) {
1515
if ("HALPLIBE".equals(customPayloadPacket.channel)) {

src/main/java/turniplabs/halplibe/mixin/models/BlockColorDispatcherMixin.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,16 @@
33
import net.fabricmc.loader.api.FabricLoader;
44
import net.minecraft.client.render.block.color.BlockColor;
55
import net.minecraft.client.render.block.color.BlockColorDispatcher;
6-
import net.minecraft.client.render.item.model.ItemModelDispatcher;
76
import net.minecraft.client.util.dispatch.Dispatcher;
87
import net.minecraft.core.block.Block;
98
import org.spongepowered.asm.mixin.Mixin;
109
import org.spongepowered.asm.mixin.Unique;
1110
import org.spongepowered.asm.mixin.injection.At;
1211
import org.spongepowered.asm.mixin.injection.Inject;
1312
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
14-
import turniplabs.halplibe.helper.BlockBuilder;
1513
import turniplabs.halplibe.helper.ModelHelper;
1614
import turniplabs.halplibe.util.ModelEntrypoint;
1715

18-
import java.util.Map;
19-
import java.util.Set;
20-
import java.util.function.Function;
21-
2216
@Mixin(value = BlockColorDispatcher.class, remap = false)
2317
public abstract class BlockColorDispatcherMixin extends Dispatcher<Block<?>, BlockColor> {
2418

src/main/java/turniplabs/halplibe/mixin/models/BlockModelDispatcherMixin.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
package turniplabs.halplibe.mixin.models;
22

33
import net.fabricmc.loader.api.FabricLoader;
4-
import net.minecraft.client.render.block.color.BlockColorDispatcher;
5-
import net.minecraft.client.render.block.model.BlockModel;
64
import net.minecraft.client.render.block.model.BlockModelDispatcher;
75
import org.spongepowered.asm.mixin.Mixin;
8-
import org.spongepowered.asm.mixin.Shadow;
96
import org.spongepowered.asm.mixin.Unique;
107
import org.spongepowered.asm.mixin.injection.At;
118
import org.spongepowered.asm.mixin.injection.Inject;
129
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
13-
import turniplabs.halplibe.helper.BlockBuilder;
1410
import turniplabs.halplibe.helper.ModelHelper;
1511
import turniplabs.halplibe.util.ModelEntrypoint;
16-
import turniplabs.halplibe.util.RecipeEntrypoint;
1712

1813
@Mixin(value = BlockModelDispatcher.class, remap = false)
1914
public abstract class BlockModelDispatcherMixin {

0 commit comments

Comments
 (0)