[CHORE] Backport from 1.20.3
This commit is contained in:
@@ -19,15 +19,8 @@ public class CraterAdvancementEvent extends CraterEvent {
|
||||
this.player = player;
|
||||
this.advancement = advancement;
|
||||
|
||||
Optional<DisplayInfo> displayInfo = advancement.display();
|
||||
|
||||
if (displayInfo.isPresent()) {
|
||||
this.title = displayInfo.get().getTitle();
|
||||
this.description = displayInfo.get().getDescription();
|
||||
} else {
|
||||
this.title = Component.literal("Unknown");
|
||||
this.description = Component.literal("Unknown");
|
||||
}
|
||||
this.title = advancement.getDisplay().getTitle();
|
||||
this.description = advancement.getDisplay().getDescription();
|
||||
}
|
||||
|
||||
public Advancement getAdvancement() {
|
||||
|
@@ -179,6 +179,7 @@ public class CraterConfigScreen extends Screen {
|
||||
@Override
|
||||
public void render(@NotNull GuiGraphics matrices, int mouseX, int mouseY, float delta) {
|
||||
overlayBackground(matrices.pose(), TOP, height - BOTTOM, 32);
|
||||
|
||||
renderScrollBar();
|
||||
|
||||
matrices.pose().pushPose();
|
||||
@@ -187,9 +188,8 @@ public class CraterConfigScreen extends Screen {
|
||||
overlayBackground(matrices.pose(), height - BOTTOM, height, 64);
|
||||
renderShadow(matrices.pose());
|
||||
matrices.drawCenteredString(font, getTitle(), width / 2, 9, 0xFFFFFF);
|
||||
matrices.pose().popPose();
|
||||
|
||||
super.render(matrices, mouseX, mouseY, delta);
|
||||
matrices.pose().popPose();
|
||||
|
||||
int y = (int) (TOP + 4 - Math.round(scrollerAmount));
|
||||
for (Option<?> option : options) {
|
||||
@@ -266,11 +266,12 @@ public class CraterConfigScreen extends Screen {
|
||||
}
|
||||
|
||||
protected void overlayBackground(Matrix4f matrix, int minX, int minY, int maxX, int maxY, int red, int green, int blue, int startAlpha, int endAlpha) {
|
||||
|
||||
Tesselator tesselator = Tesselator.getInstance();
|
||||
BufferBuilder buffer = tesselator.getBuilder();
|
||||
RenderSystem.setShader(GameRenderer::getPositionTexColorShader);
|
||||
RenderSystem.setShaderTexture(0, Screen.BACKGROUND_LOCATION);
|
||||
RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
RenderSystem.setShader(GameRenderer::getPositionTexColorShader);
|
||||
buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR);
|
||||
buffer.vertex(matrix, minX, maxY, 0.0F).uv(minX / 32.0F, maxY / 32.0F).color(red, green, blue, endAlpha).endVertex();
|
||||
buffer.vertex(matrix, maxX, maxY, 0.0F).uv(maxX / 32.0F, maxY / 32.0F).color(red, green, blue, endAlpha).endVertex();
|
||||
@@ -334,12 +335,12 @@ public class CraterConfigScreen extends Screen {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean mouseScrolled(double d, double e, double f, double g) {
|
||||
public boolean mouseScrolled(double d, double e, double f) {
|
||||
if (e >= TOP && e <= height - BOTTOM) {
|
||||
scrollerAmount = Mth.clamp(scrollerAmount - f * 16.0D, 0, scrollHeight());
|
||||
return true;
|
||||
}
|
||||
return super.mouseScrolled(d, e, f, g);
|
||||
return super.mouseScrolled(d, e, f);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -50,7 +50,7 @@ public class BaseWidget<T> extends Option<T> {
|
||||
} else {
|
||||
text.withStyle(ChatFormatting.GRAY);
|
||||
}
|
||||
matrices.drawString(font, text, x, y + font.lineHeight - 2, 0xFFFFFF);
|
||||
matrices.drawString(font, text, x, y, 0xFFFFFF);
|
||||
resetButton.setX(x + width - 46);
|
||||
resetButton.setY(y + 1);
|
||||
resetButton.active = isNotDefault();
|
||||
|
@@ -12,7 +12,7 @@ import java.util.function.Supplier;
|
||||
*/
|
||||
public interface CraterNetworkHandler {
|
||||
|
||||
<T extends CraterPacket<T>> void registerPacket(Class<T> clazz, Supplier<T> supplier, PacketDirection packetDirection);
|
||||
<T extends CraterPacket<T>> void registerPacket(Class<? extends T> clazz, Supplier<T> supplier, PacketDirection packetDirection);
|
||||
|
||||
Packet<?> toServerBound(CraterPacket<?> packet);
|
||||
|
||||
|
@@ -3,7 +3,6 @@ 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;
|
||||
@@ -15,16 +14,13 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
@Mixin(PlayerAdvancements.class)
|
||||
public class PlayerAdvancementsMixin {
|
||||
|
||||
@Shadow
|
||||
private ServerPlayer player;
|
||||
@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(AdvancementHolder advancementHolder, String string, CallbackInfoReturnable<Boolean> cir) {
|
||||
CraterAdvancementEvent event = new CraterAdvancementEvent(this.player, advancementHolder.value());
|
||||
private void injectAdvancementEvent(Advancement advancement, String $$1, CallbackInfoReturnable<Boolean> cir) {
|
||||
CraterAdvancementEvent event = new CraterAdvancementEvent(this.player, advancement);
|
||||
|
||||
Advancement advancement = advancementHolder.value();
|
||||
|
||||
if (advancement.display().isPresent() && advancement.display().get().shouldAnnounceChat()) {
|
||||
if (advancement.getDisplay() != null && advancement.getDisplay().shouldAnnounceChat()) {
|
||||
CraterEventBus.INSTANCE.postEvent(event);
|
||||
}
|
||||
}
|
||||
|
@@ -8,7 +8,6 @@ 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;
|
||||
@@ -29,7 +28,7 @@ public class PlayerListMixin {
|
||||
}
|
||||
|
||||
@Inject(method = "placeNewPlayer", at = @At("TAIL"))
|
||||
private void injectPlayerLoginEvent(Connection connection, ServerPlayer serverPlayer, CommonListenerCookie commonListenerCookie, CallbackInfo ci) {
|
||||
private void injectPlayerLoginEvent(Connection connection, ServerPlayer serverPlayer, CallbackInfo ci) {
|
||||
CraterPlayerEvent.PlayerLoggedIn loggedIn = new CraterPlayerEvent.PlayerLoggedIn(serverPlayer);
|
||||
CraterEventBus.INSTANCE.postEvent(loggedIn);
|
||||
}
|
||||
|
@@ -3,8 +3,7 @@ package com.hypherionmc.craterlib.mixin.events.client;
|
||||
import com.hypherionmc.craterlib.api.event.client.CraterSinglePlayerEvent;
|
||||
import com.hypherionmc.craterlib.core.event.CraterEventBus;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.client.player.AbstractClientPlayer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
@@ -13,12 +12,10 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
@Mixin(ClientLevel.class)
|
||||
public class ClientLevelMixin {
|
||||
|
||||
@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);
|
||||
}
|
||||
@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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -14,8 +14,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
@Mixin(Minecraft.class)
|
||||
public class MinecraftMixin {
|
||||
|
||||
@Shadow
|
||||
@Nullable
|
||||
@Shadow @Nullable
|
||||
public Screen screen;
|
||||
|
||||
@Inject(method = "setScreen", at = @At(value = "TAIL"))
|
||||
|
@@ -14,7 +14,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
public class RealmsMainScreenMixin {
|
||||
|
||||
@Inject(at = @At("HEAD"), method = "play")
|
||||
private static void play(RealmsServer serverData, Screen parent, CallbackInfo ci) {
|
||||
private void play(RealmsServer serverData, Screen parent, CallbackInfo ci) {
|
||||
PlayerJoinRealmEvent playerJoinRealm = new PlayerJoinRealmEvent(serverData);
|
||||
CraterEventBus.INSTANCE.postEvent(playerJoinRealm);
|
||||
}
|
||||
|
Reference in New Issue
Block a user