[PORT] Sigh.... Dammit Mojang

This commit is contained in:
2023-09-21 19:06:07 +02:00
parent 3e7598e679
commit ec5fa726a0
12 changed files with 31 additions and 23 deletions

View File

@@ -38,7 +38,7 @@ shadowJar {
relocate 'me.hypherionmc.moonconfig', 'shadow.hypherionmc.moonconfig'
}
classifier ''
setArchiveClassifier('')
}
build.dependsOn shadowJar

View File

@@ -335,12 +335,12 @@ public class CraterConfigScreen extends Screen {
}
@Override
public boolean mouseScrolled(double d, double e, double f) {
public boolean mouseScrolled(double d, double e, double f, double g) {
if (e >= TOP && e <= height - BOTTOM) {
scrollerAmount = Mth.clamp(scrollerAmount - f * 16.0D, 0, scrollHeight());
return true;
}
return super.mouseScrolled(d, e, f);
return super.mouseScrolled(d, e, f, g);
}
@Override

View File

@@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.mixin.events;
import com.hypherionmc.craterlib.api.event.server.CraterAdvancementEvent;
import com.hypherionmc.craterlib.core.event.CraterEventBus;
import net.minecraft.advancements.Advancement;
import net.minecraft.advancements.AdvancementHolder;
import net.minecraft.server.PlayerAdvancements;
import net.minecraft.server.level.ServerPlayer;
import org.spongepowered.asm.mixin.Mixin;
@@ -17,10 +18,12 @@ public class PlayerAdvancementsMixin {
@Shadow private ServerPlayer player;
@Inject(method = "award", at = @At(value = "INVOKE", target = "Lnet/minecraft/advancements/AdvancementRewards;grant(Lnet/minecraft/server/level/ServerPlayer;)V", shift = At.Shift.AFTER))
private void injectAdvancementEvent(Advancement advancement, String $$1, CallbackInfoReturnable<Boolean> cir) {
CraterAdvancementEvent event = new CraterAdvancementEvent(this.player, advancement);
private void injectAdvancementEvent(AdvancementHolder advancementHolder, String string, CallbackInfoReturnable<Boolean> cir) {
CraterAdvancementEvent event = new CraterAdvancementEvent(this.player, advancementHolder.value());
if (advancement.getDisplay() != null && advancement.getDisplay().shouldAnnounceChat()) {
Advancement advancement = advancementHolder.value();
if (advancement.display().isPresent() && advancement.display().get().shouldAnnounceChat()) {
CraterEventBus.INSTANCE.postEvent(event);
}
}

View File

@@ -8,6 +8,7 @@ import com.mojang.authlib.GameProfile;
import net.minecraft.network.Connection;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.server.network.CommonListenerCookie;
import net.minecraft.server.players.PlayerList;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@@ -28,7 +29,7 @@ public class PlayerListMixin {
}
@Inject(method = "placeNewPlayer", at = @At("TAIL"))
private void injectPlayerLoginEvent(Connection connection, ServerPlayer serverPlayer, CallbackInfo ci) {
private void injectPlayerLoginEvent(Connection connection, ServerPlayer serverPlayer, CommonListenerCookie commonListenerCookie, CallbackInfo ci) {
CraterPlayerEvent.PlayerLoggedIn loggedIn = new CraterPlayerEvent.PlayerLoggedIn(serverPlayer);
CraterEventBus.INSTANCE.postEvent(loggedIn);
}

View File

@@ -4,6 +4,8 @@ import com.hypherionmc.craterlib.api.event.client.CraterSinglePlayerEvent;
import com.hypherionmc.craterlib.core.event.CraterEventBus;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -12,10 +14,12 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(ClientLevel.class)
public class ClientLevelMixin {
@Inject(method = "addPlayer", at = @At("HEAD"))
private void injectSinglePlayerJoinEvent(int $$0, AbstractClientPlayer player, CallbackInfo ci) {
CraterSinglePlayerEvent.PlayerLogin playerLogin = new CraterSinglePlayerEvent.PlayerLogin(player);
CraterEventBus.INSTANCE.postEvent(playerLogin);
@Inject(method = "addEntity", at = @At("HEAD"))
private void injectSinglePlayerJoinEvent(Entity entity, CallbackInfo ci) {
if (entity instanceof Player player) {
CraterSinglePlayerEvent.PlayerLogin playerLogin = new CraterSinglePlayerEvent.PlayerLogin(player);
CraterEventBus.INSTANCE.postEvent(playerLogin);
}
}
}

View File

@@ -14,7 +14,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
public class RealmsMainScreenMixin {
@Inject(at = @At("HEAD"), method = "play")
private void play(RealmsServer serverData, Screen parent, CallbackInfo ci) {
private static void play(RealmsServer serverData, Screen parent, CallbackInfo ci) {
PlayerJoinRealmEvent playerJoinRealm = new PlayerJoinRealmEvent(serverData);
CraterEventBus.INSTANCE.postEvent(playerJoinRealm);
}

View File

@@ -1,6 +1,6 @@
{
"pack": {
"description": "${mod_name}",
"pack_format": 8
"pack_format": 18
}
}