Skip to content

Commit

Permalink
v4.4
Browse files Browse the repository at this point in the history
  • Loading branch information
shedaniel committed Apr 16, 2020
1 parent 862331d commit 335339a
Show file tree
Hide file tree
Showing 7 changed files with 262 additions and 58 deletions.
15 changes: 10 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,22 @@ buildscript {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
}
}

plugins {
id "com.wynprice.cursemaven" version "2.1.1"
}

apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'eclipse'

version = "4.3"
version = "4.4"
group = "me.shedaniel" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "LightOverlay"

sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'

minecraft {
mappings channel: 'snapshot', version: '20191218-1.14.3'
mappings channel: 'snapshot', version: '20200408-1.15.1'
runs {
client {
workingDirectory project.file('run')
Expand Down Expand Up @@ -48,12 +53,12 @@ minecraft {
}

repositories {
maven { url "https://minecraft.curseforge.com/api/maven/" }
maven { url "https://files.minecraftforge.net/maven" }
}

dependencies {
minecraft 'net.minecraftforge:forge:1.15.1-30.0.7'
implementation fg.deobf("cloth-config-forge:ClothConfig2:2.0")
minecraft 'net.minecraftforge:forge:1.15.2-31.1.39'
implementation fg.deobf("curse.maven:cloth-config-forge:2844737")
}

jar {
Expand Down
6 changes: 3 additions & 3 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Mon Feb 04 22:40:37 HKT 2019
#Thu Apr 16 21:43:39 HKT 2020
distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip
zipStoreBase=GRADLE_USER_HOME
5 changes: 5 additions & 0 deletions src/main/java/me/shedaniel/lightoverlay/LightOverlay.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package me.shedaniel.lightoverlay;

import net.minecraft.network.IPacket;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.common.Mod;
Expand All @@ -12,4 +13,8 @@ public LightOverlay() {
DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> LightOverlayClient.register());
}

public static void processPacket(IPacket<?> packet) {
DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> LightOverlayClient.processPacket(packet));
}

}
249 changes: 200 additions & 49 deletions src/main/java/me/shedaniel/lightoverlay/LightOverlayClient.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public static void register() {

ConfigEntryBuilder eb = builder.getEntryBuilder();
ConfigCategory general = builder.getOrCreateCategory("config.lightoverlay-forge.general");
general.addEntry(eb.startIntSlider("config.lightoverlay-forge.reach", LightOverlayClient.reach, 1, 50).setDefaultValue(7).setTextGetter(integer -> "Reach: " + integer + " Blocks").setSaveConsumer(integer -> LightOverlayClient.reach = integer).build());
general.addEntry(eb.startIntSlider("config.lightoverlay-forge.reach", LightOverlayClient.reach, 1, 64).setDefaultValue(12).setTextGetter(integer -> "Reach: " + integer + " Blocks").setSaveConsumer(integer -> LightOverlayClient.reach = integer).build());
general.addEntry(eb.startIntSlider("config.lightoverlay-forge.crossLevel", LightOverlayClient.crossLevel, 0, 15).setDefaultValue(7).setTextGetter(integer -> "Cross Level: " + integer).setSaveConsumer(integer -> LightOverlayClient.crossLevel = integer).build());
general.addEntry(eb.startBooleanToggle("config.lightoverlay-forge.showNumber", LightOverlayClient.showNumber).setDefaultValue(false).setSaveConsumer(bool -> LightOverlayClient.showNumber = bool).build());
general.addEntry(eb.startIntSlider("config.lightoverlay-forge.lineWidth", MathHelper.floor(LightOverlayClient.lineWidth * 100), 100, 700).setDefaultValue(100).setTextGetter(integer -> "Light Width: " + LightOverlayClient.FORMAT.format(integer / 100d)).setSaveConsumer(integer -> LightOverlayClient.lineWidth = integer / 100f).build());
Expand Down
40 changes: 40 additions & 0 deletions src/main/resources/META-INF/NetworkManager.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
var Opcodes = Java.type("org.objectweb.asm.Opcodes");
var FieldNode = Java.type("org.objectweb.asm.tree.FieldNode");
var InsnNode = Java.type("org.objectweb.asm.tree.InsnNode");
var JumpInsnNode = Java.type("org.objectweb.asm.tree.JumpInsnNode");
var LabelNode = Java.type("org.objectweb.asm.tree.LabelNode");
var VarInsnNode = Java.type("org.objectweb.asm.tree.VarInsnNode");
var MethodInsnNode = Java.type("org.objectweb.asm.tree.MethodInsnNode");
var ASMAPI = Java.type("net.minecraftforge.coremod.api.ASMAPI");

function initializeCoreMod() {
return {
"smooth-scrolling-everywhere": {
'target': {
'type': 'CLASS',
'name': 'net.minecraft.network.NetworkManager'
},
'transformer': function (classNode) {
var processPacket = ASMAPI.mapMethod("func_197664_a");
for (i in classNode.methods) {
var method = classNode.methods[i];
if (method.name === processPacket) {
var instructions = method.instructions;
var insnArray = instructions.toArray();
for (j in insnArray) {
var instruction = insnArray[j];
if (instruction instanceof LabelNode) {
instructions.insertBefore(instruction, new LabelNode());
instructions.insertBefore(instruction, new VarInsnNode(Opcodes.ALOAD, 0));
instructions.insertBefore(instruction, new MethodInsnNode(Opcodes.INVOKESTATIC, "me/shedaniel/lightoverlay/LightOverlay", "processPacket", "(Lnet/minecraft/network/IPacket;)V", false));
break;
}
}
break;
}
}
return classNode;
}
}
}
}
3 changes: 3 additions & 0 deletions src/main/resources/META-INF/coremods.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"NetworkManager": "META-INF/NetworkManager.js"
}

0 comments on commit 335339a

Please sign in to comment.