private KeyBinding activeHotKey;
private KeyBinding outerBoxOnlyHotKey;
private ClientRenderer renderer;
+ private int remoteUserCount = 0;
public void keyPressed() {
if (activeHotKey.isPressed()) {
}
}
+ public void setRemoteUserCount(int remoteUserCount) {
+ this.remoteUserCount = remoteUserCount;
+ }
+
+ protected boolean hasRemoteUsers() {
+ return remoteUserCount > 0;
+ }
+
@Override
public void tick() {
- if (this.active) {
+ if (this.active || this.hasRemoteUsers()) {
super.tick();
}
}
getProxy().keyPressed();
}
+ @Override
+ protected void onRegisteredPlayerCountChanged(int registeredPlayerCount) {
+ getProxy().setRemoteUserCount(registeredPlayerCount-1);
+ }
+
@Override
protected boolean isRemotePlayer(EntityPlayer player) {
if (Minecraft.getMinecraft().isSingleplayer()) {
event.getRegistrations().contains("bbor") &&
event.getHandler() instanceof NetHandlerPlayServer) {
registeredPlayers.add(((NetHandlerPlayServer) event.getHandler()).player);
+ onRegisteredPlayerCountChanged(registeredPlayers.size());
}
}
@SubscribeEvent
public void playerLoggedOutEvent(PlayerEvent.PlayerLoggedOutEvent evt) {
- if (playerDimensions.containsKey(evt.player)) {
+ if (isRemotePlayer(evt.player)) {
playerDimensions.remove(evt.player);
playerBoundingBoxesCache.remove(evt.player);
registeredPlayers.remove(evt.player);
+ onRegisteredPlayerCountChanged(registeredPlayers.size());
}
}
+ protected void onRegisteredPlayerCountChanged(int registeredPlayerCount) {
+ }
+
@SubscribeEvent
public void tickEvent(TickEvent event) {
for (EntityPlayerMP player : playerDimensions.keySet()) {