@Override
    public void run() {
        try {
            if(RealWeather.isGlobalyEnable() & !player.getGameMode().equals(GameMode.CREATIVE)) {
                double temperature = plugin.checkCenter.getTemperature(player.getLocation(), player);
                if(plugin.playerHeatShow.get(player.getEntityId()).equals(Boolean.TRUE)) {
                    plugin.utils.sendMessage(player, plugin.localization.getValue("CurrentTemperature")+df.format(temperature));
                }
                try{
                    if(plugin.playerClientMod.get(player.getEntityId())) {
                        byte[] bytes = ("TM:"+df.format(temperature)).getBytes();
                        player.sendPluginMessage(plugin, "realweather", bytes);
                    }
                } catch(Exception e) {
                    if(RealWeather.isDebug()) RealWeather.log.log(Level.SEVERE, "Error in Cliend-mod handling" ,e);
                }
                plugin.getPlayerTemperature().put(player, temperature);
                /*if(temperature < -60) temperature = -60;
                if(temperature > 80) temperature = 80;*/
                
                if(player.hasPermission("realweather.immune.all")) return;
                
                plugin.getFeatureManager().tick(player, temperature);
            }
        } catch(Exception e) {
            RealWeather.log("Error in temperature thread!");
            RealWeather.log.log(Level.SEVERE, null, e);
            RealWeather.sendStackReport(e);
        }
    }