Skip to content

Commit 88896fd

Browse files
committed
functionality
1 parent 3127917 commit 88896fd

File tree

8 files changed

+73
-32
lines changed

8 files changed

+73
-32
lines changed

build.gradle.kts

+2-13
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ plugins {
66

77
object Globals {
88
const val grp = "io.github.ytg1234"
9-
val abn = project.name
9+
const val abn = "packetignore"
1010
const val version = "1.0.0"
1111

1212
const val mcVer = "1.16.4"
@@ -18,7 +18,7 @@ object Globals {
1818
const val modrinthId = ""
1919
const val unstable = false
2020

21-
const val name = "Template"
21+
const val name = "PacketIgnore"
2222
}
2323

2424
group = Globals.grp
@@ -86,17 +86,6 @@ tasks {
8686
from("LICENSE")
8787
}
8888

89-
// javadoc {
90-
// options {
91-
// source = "8"
92-
// encoding = "UTF-8"
93-
// memberLevel = JavadocMemberLevel.PRIVATE
94-
// }
95-
//
96-
// source(sourceSets["main"].allJava.srcDirs)
97-
// isFailOnError = false
98-
// }
99-
10089
register<com.modrinth.minotaur.TaskModrinthUpload>("publishModrinth") {
10190
token = System.getenv("MODRINTH_API_TOKEN")
10291
projectId = Globals.modrinthId

settings.gradle.kts

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,4 @@ pluginManagement {
99
}
1010
}
1111

12-
rootProject.name = "template"
13-
12+
rootProject.name = "packetignore"
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1-
package io.github.ytg1234.template;
1+
package io.github.ytg1234.packetignore;
22

33
import net.fabricmc.api.ModInitializer;
4+
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
5+
46
import org.apache.logging.log4j.LogManager;
57
import org.apache.logging.log4j.Logger;
68

7-
public class Template implements ModInitializer {
8-
public static Logger logger = LogManager.getLogger("Template");
9+
public class PacketIgnore implements ModInitializer {
10+
public static Logger logger = LogManager.getLogger("PacketIgnore");
911

1012
@Override
1113
public void onInitialize() {
12-
logger.info("Template");
14+
logger.info("PacketIgnore initializing");
1315
}
1416
}
1517

Original file line numberDiff line numberDiff line change
@@ -1,2 +1,53 @@
1-
package io.github.ytg1234.packetignore.mixin;public class ClientConnectionMixin {
1+
package io.github.ytg1234.packetignore.mixin;
2+
3+
import java.util.Random;
4+
5+
import org.spongepowered.asm.mixin.Final;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.Shadow;
8+
import org.spongepowered.asm.mixin.Unique;
9+
import org.spongepowered.asm.mixin.injection.At;
10+
import org.spongepowered.asm.mixin.injection.Redirect;
11+
12+
import net.minecraft.network.ClientConnection;
13+
import net.minecraft.network.NetworkSide;
14+
import net.minecraft.network.Packet;
15+
import net.minecraft.network.listener.PacketListener;
16+
import net.minecraft.network.packet.c2s.handshake.HandshakeC2SPacket;
17+
import net.minecraft.network.packet.c2s.login.LoginHelloC2SPacket;
18+
import net.minecraft.network.packet.c2s.login.LoginKeyC2SPacket;
19+
import net.minecraft.network.packet.c2s.login.LoginQueryResponseC2SPacket;
20+
import net.minecraft.network.packet.s2c.login.LoginCompressionS2CPacket;
21+
import net.minecraft.network.packet.s2c.login.LoginDisconnectS2CPacket;
22+
import net.minecraft.network.packet.s2c.login.LoginQueryRequestS2CPacket;
23+
import net.minecraft.network.packet.s2c.login.LoginSuccessS2CPacket;
24+
25+
@Mixin(ClientConnection.class)
26+
public abstract class ClientConnectionMixin {
27+
@Shadow @Final private NetworkSide side;
28+
@Unique
29+
private Random random = new Random();
30+
31+
@Redirect(method = "channelRead0(Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/Packet;)V",
32+
at = @At(value = "INVOKE",
33+
target = "Lnet/minecraft/network/ClientConnection;handlePacket(Lnet/minecraft/network/Packet;Lnet/minecraft/network/listener/PacketListener;)V"))
34+
private void stuff(Packet<?> packet, PacketListener listener) {
35+
if (packet instanceof HandshakeC2SPacket ||
36+
packet instanceof LoginHelloC2SPacket ||
37+
packet instanceof LoginKeyC2SPacket ||
38+
packet instanceof LoginQueryResponseC2SPacket) {
39+
handlePacket(packet, listener);
40+
System.out.println("Handshake or login received");
41+
return;
42+
}
43+
if (side == NetworkSide.CLIENTBOUND) {
44+
handlePacket(packet, listener);
45+
return;
46+
}
47+
if (random.nextBoolean()) handlePacket(packet, listener);
48+
}
49+
50+
@Shadow
51+
private static <T extends PacketListener> void handlePacket(Packet<T> packet, PacketListener listener) {
52+
}
253
}

src/main/resources/fabric.mod.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
{
22
"schemaVersion": 1,
3-
"id": "template",
3+
"id": "packetignore",
44
"version": "${version}",
5-
"name": "Template",
6-
"description": "",
5+
"name": "PacketIgnore",
6+
"description": "Ignores some packets",
77
"authors": [
88
"YTG1234"
99
],
1010
"contributors": [],
1111
"contact": {},
1212
"license": "LGPL-3.0",
13-
"icon": "assets/template/icon.png",
13+
"icon": "assets/packetignore/icon.png",
1414
"environment": "*",
1515
"entrypoints": {
1616
"main": [
17-
"io.github.ytg1234.template.Template"
17+
"io.github.ytg1234.packetignore.PacketIgnore"
1818
],
1919
"client": [],
2020
"server": []
2121
},
2222
"mixins": [
23-
"template.mixins.json"
23+
"packetignore.mixins.json"
2424
],
2525
"depends": {
2626
"fabricloader": ">=0.10.8",

src/main/resources/packetignore.mixins.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"required": true,
33
"package": "io.github.ytg1234.packetignore.mixin",
44
"compatibilityLevel": "JAVA_8",
5-
"mixins": [],
5+
"mixins": ["ClientConnectionMixin"],
66
"client": [],
77
"server": [],
88
"injectors": {

src/testmod/java/io/github/ytg1234/packetignore/testmod/TestMod.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.github.ytg1234.template.testmod;
1+
package io.github.ytg1234.packetignore.testmod;
22

33
import net.fabricmc.api.ModInitializer;
44
import org.apache.logging.log4j.LogManager;

src/testmod/resources/fabric.mod.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"schemaVersion": 1,
3-
"id": "template_test",
3+
"id": "packetignore_test",
44
"version": "${version}",
55
"name": "Test Mod",
66
"description": "A testing mod",
@@ -10,18 +10,18 @@
1010
"contributors": [],
1111
"contact": {},
1212
"license": "LGPL-3.0",
13-
"icon": "assets/template_test/icon.png",
13+
"icon": "assets/packetignore_test/icon.png",
1414
"environment": "*",
1515
"entrypoints": {
1616
"main": [
17-
"io.github.ytg1234.template.testmod.TestMod"
17+
"io.github.ytg1234.packetignore.testmod.TestMod"
1818
],
1919
"client": [],
2020
"server": []
2121
},
2222
"mixins": [],
2323
"depends": {
2424
"fabricloader": ">=0.10.8",
25-
"fabric": "*",
25+
"fabric": "*"
2626
}
2727
}

0 commit comments

Comments
 (0)