Get Fabric working again, various improvements

This commit is contained in:
Martin Prokoph
2024-07-17 17:05:13 +02:00
parent 27221b62cd
commit f82ee2e24a
14 changed files with 87 additions and 105 deletions

View File

@@ -1,14 +1,17 @@
package eu.midnightdust.midnightcontrols.util.platform.fabric;
package eu.midnightdust.midnightcontrols.client.util.platform.fabric;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
import net.minecraft.client.gui.widget.PressableWidget;
import net.minecraft.item.ItemGroup;
import java.util.List;
/**
* Implementation of fabric methods for
* @see eu.midnightdust.midnightcontrols.client.util.platform.ItemGroupUtil
*/
public class ItemGroupUtilImpl {
public static List<ItemGroup> getVisibleGroupss(CreativeInventoryScreen screen) {
public static List<ItemGroup> getVisibleGroups(CreativeInventoryScreen screen) {
return (screen.getItemGroupsOnPage(screen.getCurrentPage()));
}
public static boolean cyclePage(boolean next, CreativeInventoryScreen screen) {

View File

@@ -1,4 +1,4 @@
package eu.midnightdust.midnightcontrols.util.platform.fabric;
package eu.midnightdust.midnightcontrols.client.util.platform.fabric;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.network.packet.CustomPayload;
@@ -7,6 +7,10 @@ import net.minecraft.network.packet.c2s.common.CustomPayloadC2SPacket;
import static eu.midnightdust.midnightcontrols.client.MidnightControlsClient.client;
/**
* Implementation of fabric methods for
* @see eu.midnightdust.midnightcontrols.client.util.platform.NetworkUtil
*/
public class NetworkUtilImpl {
private static final ClientPlayNetworkHandler handler = client.getNetworkHandler();

View File

@@ -3,7 +3,7 @@ package eu.midnightdust.midnightcontrols.fabric;
import eu.midnightdust.midnightcontrols.ControlsMode;
import eu.midnightdust.midnightcontrols.MidnightControls;
import eu.midnightdust.midnightcontrols.MidnightControlsFeature;
import eu.midnightdust.midnightcontrols.event.PlayerChangeControlsModeCallback;
import eu.midnightdust.midnightcontrols.fabric.event.PlayerChangeControlsModeCallback;
import eu.midnightdust.midnightcontrols.packet.ControlsModePayload;
import eu.midnightdust.midnightcontrols.packet.FeaturePayload;
import eu.midnightdust.midnightcontrols.packet.HelloPayload;
@@ -21,12 +21,11 @@ public class MidnightControlsFabric implements ModInitializer {
PayloadTypeRegistry.playS2C().register(FeaturePayload.PACKET_ID, FeaturePayload.codec);
ServerPlayNetworking.registerGlobalReceiver(HelloPayload.PACKET_ID, (payload, context) -> {
ControlsMode.byId(payload.controlsMode())
.ifPresent(controlsMode -> PlayerChangeControlsModeCallback.EVENT.invoker().apply(context.player(), controlsMode));
ControlsMode.byId(payload.controlsMode()).ifPresent(controlsMode -> PlayerChangeControlsModeCallback.EVENT.invoker().apply(context.player(), controlsMode));
context.responseSender().sendPacket(new FeaturePayload(MidnightControlsFeature.HORIZONTAL_REACHAROUND));
});
ServerPlayNetworking.registerGlobalReceiver(ControlsModePayload.PACKET_ID,
(payload, context) -> ControlsMode.byId(payload.controlsMode())
.ifPresent(controlsMode -> PlayerChangeControlsModeCallback.EVENT.invoker().apply(context.player(), controlsMode)));
ServerPlayNetworking.registerGlobalReceiver(ControlsModePayload.PACKET_ID, (payload, context) -> {
ControlsMode.byId(payload.controlsMode()).ifPresent(controlsMode -> PlayerChangeControlsModeCallback.EVENT.invoker().apply(context.player(), controlsMode));
});
}
}

View File

@@ -0,0 +1,34 @@
/*
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of midnightcontrols.
*
* Licensed under the MIT license. For more information,
* see the LICENSE file.
*/
package eu.midnightdust.midnightcontrols.fabric.event;
import eu.midnightdust.midnightcontrols.ControlsMode;
import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
import net.minecraft.entity.player.PlayerEntity;
import org.jetbrains.annotations.NotNull;
/**
* Represents an event callback which is fired when a player changes the controls mode.
*
* @author LambdAurora
* @version 1.10.0
* @since 1.1.0
*/
@FunctionalInterface
public interface PlayerChangeControlsModeCallback {
Event<PlayerChangeControlsModeCallback> EVENT = EventFactory.createArrayBacked(PlayerChangeControlsModeCallback.class, listeners -> (player, controlsMode) -> {
for (PlayerChangeControlsModeCallback event : listeners) {
event.apply(player, controlsMode);
}
});
void apply(@NotNull PlayerEntity player, @NotNull ControlsMode controlsMode);
}

View File

@@ -45,7 +45,6 @@
"eu.midnightdust.midnightcontrols.client.MidnightControlsModMenu"
]
},
"accessWidener": "midnightcontrols.accesswidener",
"mixins": [
"midnightcontrols.mixins.json",
"midnightcontrols_compat.mixins.json"