ModsJava
NMinimapIrisBlocker
Detect client's mods using translation resolver from server side and restrict their abilities!
⬇ Download on HangarOpen in MCModsHubGet it on Google Play →# NMinimapIrisBlocker
Sign-check mods detector. Designed to use with [NMinimap](https://github.com/NezuShin/NMinimap) but can also work separately.
### Features
- Configurable mod list (via `restricted-translations` config property)
- Configurable blocked commands for players with these mods installed.
- On-join check for players
- Automatic NMinimap disable for players with restrictions
### Supported server platforms
- [Papermc](https://papermc.io/software/paper/)
- [Folia](https://papermc.io/software/folia/)
### Dependencies
- [Packet events](https://www.spigotmc.org/resources/packetevents-api.80279/) or [ProtocolLib](https://www.spigotmc.org/resources/protocollib.1997/) (works better)
- [NMinimap](https://github.com/NezuShin/NMinimap) (Optional)
### Permissions
- `nminimap.skip-check` - access to bypass sign check
- `nminimap.admin` - access to admin features
### Admin commands
`/mib reload` - Reload plugin\
`/mib probe ` - Force probe player. Restrictions will not apply if player has `nminimap.skip-check` permission\
`/mib players` - Show list of players with restrictions
### How does it work?
Minecraft client can resolve translations components (e.g. `iris.shaders.reloaded`, `item.minecraft.diamond`, etc.) on signs.
Plugin utilizes it - opens and closes sign menu when player joining.
### About packetevents
For some reason sign check is works much worse with packetevents than with ProtocolLib with same code. I have not figured out why yet.
For now ProtocolLib runs flawlessly, so consider using ProtocolLib
### API
Force probe player
```java
public void myProbe(Player player) {
NMinimapIrisBlocker.getInstance().probe(player, ProbeCause.CUSTOM)
.thenAccept(result -> {
System.out.println("CHECK RESULT: " + result.result());
System.out.println("RESOLVED TRANSLATIONS");
System.out.println(result.resolved());
});
}
```
Handle on-join check (to open menu for example)
```java
@EventHandler
public void handleJoinCheck(AsyncPlayerCheckDoneEvent e) {
if (!e.getCause().equals(ProbeCause.JOIN))
return;
var player = e.getPlayer();
System.out.println("CHECK RESULT: " + e.getResult().result());
System.out.println("RESOLVED TRANSLATIONS");
System.out.println(e.getResult().resolved());
player.openInventory(yourInventory);//etc
}
```
NMinimapIrisBlocker is a free Minecraft Java mod. Compatible with Minecraft 1.21.11, 26.1, 26.1.1, 26.1.2 and newer. Downloaded 1 times (via Hangar). Download it and open it directly in the game.
Explore more