Skip to content

Commit bfdb26a

Browse files
committed
[KillTheRNG] Added random seed display above entities
1 parent d6c7c07 commit bfdb26a

File tree

5 files changed

+59
-7
lines changed

5 files changed

+59
-7
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.minecrafttas.killtherng.mixin;
2+
3+
import net.minecraft.client.renderer.GlStateManager;
4+
import net.minecraft.client.renderer.entity.Render;
5+
import net.minecraft.client.renderer.entity.RenderLivingBase;
6+
import net.minecraft.client.renderer.entity.RenderManager;
7+
import net.minecraft.entity.EntityLivingBase;
8+
import org.spongepowered.asm.mixin.Mixin;
9+
import org.spongepowered.asm.mixin.injection.At;
10+
import org.spongepowered.asm.mixin.injection.Inject;
11+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
12+
13+
import java.util.Random;
14+
15+
@Mixin(RenderLivingBase.class)
16+
public abstract class MixinRender extends Render {
17+
protected MixinRender(RenderManager renderManager) {
18+
super(renderManager);
19+
}
20+
21+
@Inject(method = "renderName", at = @At(value = "HEAD"))
22+
public void inject_renderName(EntityLivingBase entity, double d, double e, double f, CallbackInfo ci){
23+
long seed = getSeed(entity.rand);
24+
GlStateManager.alphaFunc(516, 0.1F);
25+
this.renderEntityName(entity, d, e+0.23D, f, Long.toString(seed), 64);
26+
}
27+
28+
private long getSeed(Random rand) {
29+
long in = rand.nextLong();
30+
long seed = (((7847617*((24667315*(in >>> 32) + 18218081*(in & 0xffffffffL) + 67552711) >> 32) - 18218081*((-4824621*(in >>> 32) + 7847617*(in & 0xffffffffL) + 7847617) >> 32)) - 11) * 246154705703781L) & 0xffffffffffffL;
31+
seed = seed ^ 0x5deece66dL;
32+
rand.setSeed(seed);
33+
return seed;
34+
}
35+
}

src/main/java/com/minecrafttas/tasmod/ktrng/KillTheRNGHandler.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,14 @@ public class KillTheRNGHandler implements EventServerTick, EventPlayerJoinedClie
4141
* @param isLoaded If the KillTheRNG mod is loaded
4242
*/
4343
public KillTheRNGHandler(boolean isLoaded) {
44-
4544
this.isLoaded = isLoaded;
4645

4746
if (isLoaded) {
48-
KillTheRNG.LOGGER.info("Connection established with TASmod");
49-
KillTheRNG.isLibrary = true;
50-
KillTheRNG.mode = SeedingModes.TickChange;
51-
52-
KillTheRNG.annotations.register(new KTRNGMonitor());
47+
// KillTheRNG.LOGGER.info("Connection established with TASmod");
48+
// KillTheRNG.isLibrary = true;
49+
// KillTheRNG.mode = SeedingModes.TickChange;
50+
//
51+
// KillTheRNG.annotations.register(new KTRNGMonitor());
5352
} else {
5453
LOGGER.info("KillTheRNG doesn't appear to be loaded");
5554
}

src/main/resources/fabric.mod.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@
2626
]
2727
},
2828
"mixins": [
29-
"tasmod.mixin.json"
29+
"mctcommon.mixin.json",
30+
"tasmod.mixin.json",
31+
"killtherng.mixin.json"
3032
],
3133
"depends": {
3234
"fabricloader": ">=0.14.19",
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"required": true,
3+
"minVersion": "0.8.5",
4+
"package": "com.minecrafttas.killtherng.mixin",
5+
"refmap": "tasmod.refmap.json",
6+
"compatibilityLevel": "JAVA_8",
7+
"mixins": [
8+
9+
],
10+
"client": [
11+
"MixinRender"
12+
]
13+
}

src/main/resources/tasmod.accesswidener

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,6 @@ accessible field net/minecraft/world/WorldServer pendingTickListEntriesHashSet L
1414
accessible method net/minecraft/world/storage/SaveHandler setSessionLock ()V
1515

1616
accessible field net/minecraft/client/settings/KeyBinding CATEGORY_ORDER Ljava/util/Map;
17+
18+
#KillTheRNG
19+
accessible field net/minecraft/entity/Entity rand Ljava/util/Random;

0 commit comments

Comments
 (0)