-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add speed on client side, and add api
- Loading branch information
Showing
10 changed files
with
123 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
13 changes: 13 additions & 0 deletions
13
src/client/java/ru/nosqd/nlm/client/NoLimitMinecartsModClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package ru.nosqd.nlm.client; | ||
|
||
import net.fabricmc.api.ClientModInitializer; | ||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
|
||
public class NoLimitMinecartsModClient implements ClientModInitializer { | ||
public static final Logger LOGGER = LoggerFactory.getLogger("no-limit-minecarts-client"); | ||
|
||
@Override | ||
public void onInitializeClient() { | ||
} | ||
} |
43 changes: 43 additions & 0 deletions
43
src/client/java/ru/nosqd/nlm/client/mixin/DebugHudMixin.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
package ru.nosqd.nlm.client.mixin; | ||
|
||
import net.minecraft.client.MinecraftClient; | ||
import net.minecraft.client.gui.hud.DebugHud; | ||
import net.minecraft.util.Formatting; | ||
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; | ||
import ru.nosqd.nlm.NoLimitMinecartsMod; | ||
import ru.nosqd.nlm.api.NoLimitMinecartsApi; | ||
|
||
import java.util.List; | ||
|
||
|
||
@Mixin(DebugHud.class) | ||
public class DebugHudMixin { | ||
@Inject(method = "getLeftText", at = @At("RETURN"), cancellable = true) | ||
private void getLeftText(CallbackInfoReturnable<List<String>> cir) { | ||
var lines = cir.getReturnValue(); | ||
var nlmApi = NoLimitMinecartsApi.getInstance(); | ||
var player = MinecraftClient.getInstance().player; | ||
|
||
lines.add(""); | ||
|
||
lines.add(Formatting.GREEN + "[No Limit Minecarts]"); | ||
lines.add(Formatting.AQUA + "Version: " + Formatting.GOLD + NoLimitMinecartsMod.VERSION); | ||
if (player != null) { | ||
if (nlmApi.isPlayerRiding(player)) { | ||
var vehicle = nlmApi.getPlayerVehicle(player); | ||
lines.add(Formatting.YELLOW + "Speed: " + Formatting.LIGHT_PURPLE + String.format("%.3f", nlmApi.getVehicleSpeed(vehicle))); | ||
} | ||
else { | ||
lines.add(Formatting.YELLOW + "Player is not riding a vehicle."); | ||
} | ||
} | ||
else { | ||
lines.add(Formatting.RED + "Player is null."); | ||
} | ||
|
||
cir.setReturnValue(lines); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
{ | ||
"required": true, | ||
"package": "ru.nosqd.nlm.client.mixin", | ||
"compatibilityLevel": "JAVA_21", | ||
"client": [ | ||
"DebugHudMixin" | ||
], | ||
"injectors": { | ||
"defaultRequire": 1 | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package ru.nosqd.nlm.api; | ||
|
||
import net.minecraft.entity.Entity; | ||
import net.minecraft.entity.player.PlayerEntity; | ||
import ru.nosqd.nlm.NoLimitMinecartsMod; | ||
|
||
public class NoLimitMinecartsApi { | ||
private static NoLimitMinecartsApi instance; | ||
|
||
public static void initialize() { | ||
if (instance != null) { | ||
NoLimitMinecartsMod.LOGGER.warn("Some function tried to reinitialize nlm api, nothing will be done"); | ||
return; | ||
} | ||
instance = new NoLimitMinecartsApi(); | ||
} | ||
|
||
public static NoLimitMinecartsApi getInstance() { | ||
return instance; | ||
} | ||
|
||
public boolean isPlayerRiding(PlayerEntity player) { | ||
return player.hasVehicle(); | ||
} | ||
|
||
public Entity getPlayerVehicle(PlayerEntity player) { | ||
return player.getVehicle(); | ||
} | ||
|
||
public double getVehicleSpeed(Entity entity) { | ||
var velocity = entity.getVelocity(); | ||
|
||
double speedInBlocksPerTick = Math.sqrt(velocity.x * velocity.x + velocity.y * velocity.y + velocity.z * velocity.z); | ||
return speedInBlocksPerTick * 20; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters