[PORT] 1.20.6 port
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package com.hypherionmc.craterlib.api.networking;
|
||||
|
||||
import com.hypherionmc.craterlib.core.networking.data.PacketHolder;
|
||||
import com.hypherionmc.craterlib.nojang.network.BridgedFriendlyByteBuf;
|
||||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
|
||||
|
||||
public record CommonPacketWrapper<T>(PacketHolder<T> container, T packet) implements CustomPacketPayload
|
||||
{
|
||||
public void encode(BridgedFriendlyByteBuf buf)
|
||||
{
|
||||
container().encoder().accept(packet(), buf);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type<? extends CustomPacketPayload> type()
|
||||
{
|
||||
return container.type();
|
||||
}
|
||||
}
|
@@ -269,7 +269,7 @@ public class CraterConfigScreen extends Screen {
|
||||
Tesselator tesselator = Tesselator.getInstance();
|
||||
BufferBuilder buffer = tesselator.getBuilder();
|
||||
RenderSystem.setShader(GameRenderer::getPositionTexColorShader);
|
||||
RenderSystem.setShaderTexture(0, Screen.BACKGROUND_LOCATION);
|
||||
RenderSystem.setShaderTexture(0, Screen.MENU_BACKGROUND);
|
||||
RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
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();
|
||||
|
@@ -1,5 +1,7 @@
|
||||
package com.hypherionmc.craterlib.client.gui.config.widgets;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.Font;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
@@ -28,16 +30,10 @@ public abstract class Option<T> extends AbstractContainerEventHandler {
|
||||
public T value;
|
||||
public boolean hasErrors;
|
||||
public List<? extends GuiEventListener> children = new ArrayList<>();
|
||||
@Setter
|
||||
@Getter
|
||||
private List<String> langKeys = new ArrayList<>();
|
||||
|
||||
public List<String> getLangKeys() {
|
||||
return langKeys;
|
||||
}
|
||||
|
||||
public void setLangKeys(List<String> langKeys) {
|
||||
this.langKeys = langKeys;
|
||||
}
|
||||
|
||||
public abstract void render(Minecraft minecraft, Font font, int x, int y, int width, int height, GuiGraphics matrices, int mouseX, int mouseY, float delta);
|
||||
|
||||
public int height() {
|
||||
|
@@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.core.networking;
|
||||
import com.hypherionmc.craterlib.core.networking.data.PacketContext;
|
||||
import com.hypherionmc.craterlib.nojang.network.BridgedFriendlyByteBuf;
|
||||
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
@@ -11,6 +12,7 @@ import java.util.function.Function;
|
||||
/**
|
||||
* Based on https://github.com/mysticdrew/common-networking/tree/1.20.4
|
||||
*/
|
||||
@Getter
|
||||
public class CraterPacketNetwork {
|
||||
|
||||
private final PacketRegistry packetRegistry;
|
||||
@@ -38,7 +40,4 @@ public class CraterPacketNetwork {
|
||||
}
|
||||
}
|
||||
|
||||
public PacketRegistry getPacketRegistry() {
|
||||
return packetRegistry;
|
||||
}
|
||||
}
|
@@ -18,7 +18,7 @@ import java.util.function.Function;
|
||||
*/
|
||||
public abstract class PacketRegistry implements CraterNetworkHandler, PacketRegistrar {
|
||||
|
||||
final Map<Class<?>, PacketHolder<?>> PACKET_MAP = new HashMap<>();
|
||||
protected final Map<Class<?>, PacketHolder<?>> PACKET_MAP = new HashMap<>();
|
||||
|
||||
protected final PacketSide side;
|
||||
|
||||
|
@@ -1,7 +1,11 @@
|
||||
package com.hypherionmc.craterlib.core.networking.data;
|
||||
|
||||
import com.hypherionmc.craterlib.api.networking.CommonPacketWrapper;
|
||||
import com.hypherionmc.craterlib.nojang.network.BridgedFriendlyByteBuf;
|
||||
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.codec.StreamCodec;
|
||||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
|
||||
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
@@ -10,9 +14,27 @@ import java.util.function.Function;
|
||||
/**
|
||||
* Based on https://github.com/mysticdrew/common-networking/tree/1.20.4
|
||||
*/
|
||||
public record PacketHolder<T>(ResourceIdentifier packetId,
|
||||
public record PacketHolder<T>(CustomPacketPayload.Type<? extends CustomPacketPayload> type,
|
||||
Class<T> messageType,
|
||||
BiConsumer<T, BridgedFriendlyByteBuf> encoder,
|
||||
Function<BridgedFriendlyByteBuf, T> decoder,
|
||||
Consumer<PacketContext<T>> handler) {
|
||||
|
||||
public PacketHolder(ResourceIdentifier packetId, Class<T> messageType, BiConsumer<T, BridgedFriendlyByteBuf> encoder, Function<BridgedFriendlyByteBuf, T> decoder, Consumer<PacketContext<T>> handler) {
|
||||
this(new CustomPacketPayload.Type<>(packetId.toMojang()), messageType, encoder, decoder, handler);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public <K extends CustomPacketPayload> CustomPacketPayload.Type<K> getType()
|
||||
{
|
||||
return (CustomPacketPayload.Type<K>) type();
|
||||
}
|
||||
|
||||
public StreamCodec<FriendlyByteBuf, CommonPacketWrapper> getCodec()
|
||||
{
|
||||
return CustomPacketPayload.codec(
|
||||
(packet, buf) -> this.encoder().accept((T)packet.packet(), BridgedFriendlyByteBuf.of(buf)),
|
||||
(buf) -> new CommonPacketWrapper<>(this, this.decoder().apply(BridgedFriendlyByteBuf.of(buf))));
|
||||
}
|
||||
|
||||
}
|
@@ -24,9 +24,9 @@ public class BridgedServerData {
|
||||
}
|
||||
|
||||
public int getMaxPlayers() {
|
||||
if (!internal.pinged || internal.players == null) {
|
||||
if (internal.players == null) {
|
||||
try {
|
||||
new ServerStatusPinger().pingServer(internal, () -> {});
|
||||
new ServerStatusPinger().pingServer(internal, () -> {}, () -> {});
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
|
||||
|
@@ -7,6 +7,7 @@ import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.Util;
|
||||
import net.minecraft.core.RegistryAccess;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.Style;
|
||||
|
||||
@@ -14,11 +15,11 @@ public class ChatUtils {
|
||||
|
||||
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
|
||||
final String serialised = GsonComponentSerializer.gson().serialize(inComponent);
|
||||
return Component.Serializer.fromJson(serialised);
|
||||
return Component.Serializer.fromJson(serialised, RegistryAccess.EMPTY);
|
||||
}
|
||||
|
||||
public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) {
|
||||
final String serialised = Component.Serializer.toJson(inComponent);
|
||||
final String serialised = Component.Serializer.toJson(inComponent, RegistryAccess.EMPTY);
|
||||
return GsonComponentSerializer.gson().deserialize(serialised);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user