Files
Applied-Energistics-2/src/main/java/appeng/hooks/ClientTickHandler.java
T
2020-07-27 20:07:27 +02:00

44 lines
1.3 KiB
Java

package appeng.hooks;
import java.util.HashMap;
import java.util.Map;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.minecraft.client.MinecraftClient;
import appeng.api.parts.CableRenderMode;
import appeng.client.AppEngClient;
import appeng.core.Api;
import appeng.util.Platform;
@Environment(EnvType.CLIENT)
public class ClientTickHandler extends TickHandler {
private final HashMap<Integer, PlayerColor> cliPlayerColors = new HashMap<>();
private CableRenderMode crm = CableRenderMode.STANDARD;
public ClientTickHandler() {
ClientTickEvents.START_CLIENT_TICK.register(this::onBeforeClientTick);
}
@Override
public Map<Integer, PlayerColor> getPlayerColors() {
if (!Platform.isServer()) {
return this.cliPlayerColors;
}
return super.getPlayerColors();
}
private void onBeforeClientTick(MinecraftClient client) {
this.tickColors(this.cliPlayerColors);
final CableRenderMode currentMode = Api.instance().partHelper().getCableRenderMode();
if (currentMode != this.crm) {
this.crm = currentMode;
AppEngClient.instance().triggerUpdates();
}
}
}