Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
mezz committed Jun 11, 2024
1 parent 282f6fa commit 96c3cfc
Show file tree
Hide file tree
Showing 135 changed files with 949 additions and 1,488 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Set up JDK 17
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'microsoft'
java-version: '17'
java-version: '21'

- name: Validate wrapper
uses: gradle/actions/wrapper-validation@v3
Expand Down
2 changes: 1 addition & 1 deletion .jenkins/Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
pipeline {
agent any
tools {
jdk "jdk-17.0.1"
jdk "jdk-21.0.3"
}

environment {
Expand Down
4 changes: 1 addition & 3 deletions Common/src/main/java/mezz/jei/common/Constants.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package mezz.jei.common;

import mezz.jei.api.constants.ModIds;
import mezz.jei.api.recipe.RecipeType;
import net.minecraft.resources.ResourceLocation;

import mezz.jei.api.constants.ModIds;

public final class Constants {
public static final String TEXTURE_GUI_PATH = "textures/jei/gui/";
public static final String TEXTURE_GUI_VANILLA = Constants.TEXTURE_GUI_PATH + "gui_vanilla.png";
Expand All @@ -13,7 +12,6 @@ public final class Constants {

public static final RecipeType<?> UNIVERSAL_RECIPE_TRANSFER_TYPE = RecipeType.create(ModIds.JEI_ID, "universal_recipe_transfer_handler", Object.class);
public static final ResourceLocation LOCATION_JEI_GUI_TEXTURE_ATLAS = new ResourceLocation(ModIds.JEI_ID, "textures/atlas/gui.png");
public static final ResourceLocation NETWORK_CHANNEL_ID = new ResourceLocation(ModIds.JEI_ID, "channel");

/**
* Ingredients with this tag will be hidden from JEI.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
package mezz.jei.common.network;

import mezz.jei.common.config.IServerConfig;
import net.minecraft.client.player.LocalPlayer;

public record ClientPacketContext(LocalPlayer player,
IConnectionToServer connection,
IServerConfig serverConfig
) {
public record ClientPacketContext(LocalPlayer player, IConnectionToServer connection) {
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package mezz.jei.common.network;

import mezz.jei.common.network.packets.PacketJeiToClient;
import mezz.jei.common.network.packets.PlayToClientPacket;
import net.minecraft.server.level.ServerPlayer;

public interface IConnectionToClient {
void sendPacketToClient(PacketJeiToClient packet, ServerPlayer player);
<T extends PlayToClientPacket<T>> void sendPacketToClient(T packet, ServerPlayer player);
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package mezz.jei.common.network;

import mezz.jei.common.network.packets.PacketJeiToServer;
import mezz.jei.common.network.packets.PlayToServerPacket;

public interface IConnectionToServer {
boolean isJeiOnServer();

void sendPacketToServer(PacketJeiToServer packet);
<T extends PlayToServerPacket<T>> void sendPacketToServer(T packet);
}
5 changes: 0 additions & 5 deletions Common/src/main/java/mezz/jei/common/network/IPacketId.java

This file was deleted.

This file was deleted.

11 changes: 0 additions & 11 deletions Common/src/main/java/mezz/jei/common/network/PacketIdServer.java

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package mezz.jei.common.network.codecs;

import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.codec.StreamCodec;

public class EnumStreamCodec<T extends Enum<T>> implements StreamCodec<FriendlyByteBuf, T> {
private final Class<T> enumClass;

public EnumStreamCodec(Class<T> enumClass) {
this.enumClass = enumClass;
}

@Override
public T decode(FriendlyByteBuf buf) {
return buf.readEnum(enumClass);
}

@Override
public void encode(FriendlyByteBuf buf, T e) {
buf.writeEnum(e);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package mezz.jei.common.network.codecs;

import net.minecraft.MethodsReturnNonnullByDefault;

import javax.annotation.ParametersAreNonnullByDefault;

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,35 +1,67 @@
package mezz.jei.common.network.packets;

import mezz.jei.api.constants.ModIds;
import mezz.jei.common.config.IServerConfig;
import mezz.jei.common.network.ClientPacketContext;
import mezz.jei.common.network.PacketIdClient;
import mezz.jei.common.network.packets.handlers.ClientCheatPermissionHandler;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.RegistryFriendlyByteBuf;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.resources.ResourceLocation;
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
import java.util.List;

public class PacketCheatPermission extends PlayToClientPacket<PacketCheatPermission> {
public static final Type<PacketCheatPermission> TYPE = new Type<>(new ResourceLocation(ModIds.JEI_ID, "cheat_permission"));
public static final StreamCodec<RegistryFriendlyByteBuf, PacketCheatPermission> STREAM_CODEC = StreamCodec.composite(
ByteBufCodecs.BOOL,
p -> p.hasPermission,
ByteBufCodecs.STRING_UTF8.apply(ByteBufCodecs.list()),
p -> p.allowedCheatingMethods,
PacketCheatPermission::new
);

public class PacketCheatPermission extends PacketJeiToClient {
private final boolean hasPermission;
private final List<String> allowedCheatingMethods;

public PacketCheatPermission(boolean hasPermission, IServerConfig serverConfig) {
this(hasPermission, getAllowedCheatingMethods(serverConfig));
}

public PacketCheatPermission(boolean hasPermission) {
public PacketCheatPermission(boolean hasPermission, List<String> allowedCheatingMethods) {
this.hasPermission = hasPermission;
this.allowedCheatingMethods = allowedCheatingMethods;
}

@Override
public PacketIdClient getPacketId() {
return PacketIdClient.CHEAT_PERMISSION;
public Type<PacketCheatPermission> type() {
return TYPE;
}

@Override
public void writePacketData(FriendlyByteBuf buf) {
buf.writeBoolean(hasPermission);
public StreamCodec<RegistryFriendlyByteBuf, PacketCheatPermission> streamCodec() {
return STREAM_CODEC;
}

@Override
public void processOnClientThread(ClientPacketContext context) {
ClientCheatPermissionHandler.handleHasCheatPermission(context, hasPermission);
public void process(ClientPacketContext context) {
ClientCheatPermissionHandler.handleHasCheatPermission(context, hasPermission, allowedCheatingMethods);
}

public static PacketCheatPermission readPacketData(FriendlyByteBuf buf) {
boolean hasPermission = buf.readBoolean();
return new PacketCheatPermission(hasPermission);
@NotNull
private static List<String> getAllowedCheatingMethods(IServerConfig serverConfig) {
List<String> allowedCheatingMethods = new ArrayList<>();
if (serverConfig.isCheatModeEnabledForOp()) {
allowedCheatingMethods.add("jei.chat.error.no.cheat.permission.op");
}
if (serverConfig.isCheatModeEnabledForCreative()) {
allowedCheatingMethods.add("jei.chat.error.no.cheat.permission.creative");
}
if (serverConfig.isCheatModeEnabledForGive()) {
allowedCheatingMethods.add("jei.chat.error.no.cheat.permission.give");
}
return allowedCheatingMethods;
}
}
Loading

0 comments on commit 96c3cfc

Please sign in to comment.