mirror of
https://github.com/TheClashFruit/CreatePissAndShit.git
synced 2024-09-19 09:26:46 +00:00
fix: some hud fixes
This commit is contained in:
parent
cf636aca69
commit
8fa0840784
|
@ -61,8 +61,5 @@ public class PissAndShit implements ModInitializer {
|
|||
);
|
||||
}
|
||||
});
|
||||
|
||||
// Register Packets
|
||||
PissSyncPacket.register();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package me.theclashfruit.pissnshit.client;
|
||||
|
||||
import me.theclashfruit.pissnshit.client.gui.ProofOfConceptHudOverlay;
|
||||
import me.theclashfruit.pissnshit.client.gui.PissAndShitHudOverlay;
|
||||
import me.theclashfruit.pissnshit.network.PissSyncPacket;
|
||||
import me.theclashfruit.pissnshit.registry.Fluids;
|
||||
import me.theclashfruit.pissnshit.util.PissManager;
|
||||
|
@ -15,8 +15,6 @@ import net.minecraft.client.MinecraftClient;
|
|||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
import static me.theclashfruit.pissnshit.PissAndShit.LOGGER;
|
||||
|
||||
public class PissAndShitClient implements ClientModInitializer {
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
|
@ -28,9 +26,8 @@ public class PissAndShitClient implements ClientModInitializer {
|
|||
|
||||
BlockRenderLayerMap.INSTANCE.putFluids(RenderLayer.getTranslucent(), Fluids.STILL_PISS, Fluids.FLOWING_PISS);
|
||||
|
||||
// will be transferred to a mixin to InGameHud.java
|
||||
MinecraftClient client = MinecraftClient.getInstance();
|
||||
ProofOfConceptHudOverlay hudOverlay = new ProofOfConceptHudOverlay(client);
|
||||
MinecraftClient client = MinecraftClient.getInstance();
|
||||
PissAndShitHudOverlay hudOverlay = new PissAndShitHudOverlay(client);
|
||||
|
||||
HudRenderCallback.EVENT.register((matrices, tickDelta) -> {
|
||||
if (client.player != null) {
|
||||
|
@ -38,16 +35,7 @@ public class PissAndShitClient implements ClientModInitializer {
|
|||
}
|
||||
});
|
||||
|
||||
ClientPlayNetworking.registerGlobalReceiver(PissSyncPacket.ID, (c, handler, buf, responseSender) -> {
|
||||
PissSyncPacket.SyncPacket packet = PissSyncPacket.SyncPacket.decode(buf);
|
||||
|
||||
c.execute(() -> {
|
||||
if (c.player != null) {
|
||||
PissManager pissManager = ((PlayerEntityUtil) c.player).getPissManager();
|
||||
|
||||
pissManager.setPissLevel(packet.pissLevel());
|
||||
}
|
||||
});
|
||||
});
|
||||
// Register Packets
|
||||
PissSyncPacket.register();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ import net.minecraft.util.Identifier;
|
|||
|
||||
import static me.theclashfruit.pissnshit.PissAndShit.MOD_ID;
|
||||
|
||||
public class ProofOfConceptHudOverlay implements Drawable {
|
||||
public class PissAndShitHudOverlay implements Drawable {
|
||||
private static final Identifier ICONS = new Identifier(MOD_ID, "textures/gui/icons.png");
|
||||
|
||||
private final MinecraftClient client;
|
||||
|
@ -17,7 +17,7 @@ public class ProofOfConceptHudOverlay implements Drawable {
|
|||
private final int randFirst;
|
||||
private final int randSecond;
|
||||
|
||||
public ProofOfConceptHudOverlay(MinecraftClient client) {
|
||||
public PissAndShitHudOverlay(MinecraftClient client) {
|
||||
this.client = client;
|
||||
|
||||
this.randFirst = (int) (Math.random() * 100);
|
||||
|
@ -33,6 +33,9 @@ public class ProofOfConceptHudOverlay implements Drawable {
|
|||
|
||||
assert this.client.player != null;
|
||||
|
||||
if (client.player.isCreative() || client.player.isSpectator())
|
||||
return;
|
||||
|
||||
int pissLevel = ((PlayerEntityUtil) this.client.player).getPissManager().getPissLevel();
|
||||
int fullPissIcons = pissLevel / 10;
|
||||
int remainingPissLevel = pissLevel - (fullPissIcons * 10);
|
|
@ -0,0 +1,15 @@
|
|||
package me.theclashfruit.pissnshit.mixin;
|
||||
|
||||
import net.minecraft.client.gui.hud.InGameHud;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
@Mixin(InGameHud.class)
|
||||
public class InGameHudMixin {
|
||||
@Inject(method = "getHeartRows", at = @At(value = "HEAD"), cancellable = true)
|
||||
private void getHeartRows(int heartCount, CallbackInfoReturnable<Integer> cir) {
|
||||
cir.setReturnValue((int) Math.ceil((double) heartCount / 10.0D) + 2);
|
||||
}
|
||||
}
|
|
@ -1,6 +1,9 @@
|
|||
package me.theclashfruit.pissnshit.network;
|
||||
|
||||
import io.netty.buffer.Unpooled;
|
||||
import me.theclashfruit.pissnshit.util.PissManager;
|
||||
import me.theclashfruit.pissnshit.util.PlayerEntityUtil;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
|
@ -11,7 +14,19 @@ import static me.theclashfruit.pissnshit.PissAndShit.MOD_ID;
|
|||
public class PissSyncPacket {
|
||||
public static final Identifier ID = new Identifier(MOD_ID, "piss_sync");
|
||||
|
||||
public static void register() {}
|
||||
public static void register() {
|
||||
ClientPlayNetworking.registerGlobalReceiver(PissSyncPacket.ID, (c, handler, buf, responseSender) -> {
|
||||
PissSyncPacket.SyncPacket packet = PissSyncPacket.SyncPacket.decode(buf);
|
||||
|
||||
c.execute(() -> {
|
||||
if (c.player != null) {
|
||||
PissManager pissManager = ((PlayerEntityUtil) c.player).getPissManager();
|
||||
|
||||
pissManager.setPissLevel(packet.pissLevel());
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public static void sendToClient(ServerPlayerEntity player, int pissLevel) {
|
||||
PacketByteBuf buf = new PacketByteBuf(Unpooled.buffer());
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
"PlayerEntityMixin"
|
||||
],
|
||||
"client": [
|
||||
"InGameHudMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
|
|
Loading…
Reference in a new issue