Giter Club home page Giter Club logo

3d-weather's People

Contributors

cecilia-sanare avatar grandtheftwalrus avatar scretemonge avatar two-zee avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

3d-weather's Issues

Weather locked to snow

I've noticed of recent I've only seen snow as my weather from 3DW. I believe this is likely linked to the season type setting. It is currently set to dynamic and thus I believe it think's it's winter and must snow. However I'd like some viarety on the weather produced. Is it possible to give an "Disable" option for season type? So that it may produce any weather at any time of year?

Dynamic seasons not affecting HD117 Seasons

Hi, great plug-in!

It does not seem to override the automatic seasons set bij HD117. So they still have priority over the 7 day cycle from your plug-in.

Also it would be great if the skybox could be changed dynamically instead of the skybox from the HD117 season.

Also would be amazing if it was possible to add night/day cycles by adjusting the 117HD brightness/saturation settings dynamically.

Loving everything else!

Nothing Happens When Enabled: java.lang.IllegalArgumentException: bound must be positive

Nothing happens at all when the plugin is loaded and enabled. The client logs only show this message:

2023-06-28 22:16:21 AKDT [Client] WARN  n.runelite.client.eventbus.EventBus - Uncaught exception in event subscriber
java.lang.IllegalArgumentException: bound must be positive
	at java.base/java.util.Random.nextInt(Unknown Source)
	at com.weather3d.CyclesPlugin.renderWeather(CyclesPlugin.java:704)
	at com.weather3d.CyclesPlugin.handleWeatherChanges(CyclesPlugin.java:659)
	at com.weather3d.CyclesPlugin.onGameTick(CyclesPlugin.java:204)
	at net.runelite.client.eventbus.EventBus$Subscriber.invoke(EventBus.java:70)
	at net.runelite.client.eventbus.EventBus.post(EventBus.java:223)
	at net.runelite.client.callback.Hooks.tick(Hooks.java:209)
	at client.pa(client.java:52780)
	at client.bn(client.java)
	at ba.al(ba.java:382)
	at ba.run(ba.java:361)
	at java.base/java.lang.Thread.run(Unknown Source)

This message will only occur once after starting the client, uninstalling and reinstalling does not cause more messages.

Location of raindrops is too consistent

I really like this plugin but there are some things which I would love to see changed / fixed.

It looks like a certain pattern is being cycled, so I see a lot of patterns returning (specifically for the rain drops) which really bugs me when I'm in the same area for a little bit.

Included video:
https://gyazo.com/4e3e1a80f0dc5625555eb924fae05416

Especially in the bottom right you can see this pattern of 2 drops repeating every so often.

Decrease dynamic weather interval

The option between having dynamic or set weather is really appealing to me, I am fascinated by the dynamic option in particular, naturally I was wondering how it would determine when and what to update to. The readme lists that it updates every 7 days. Which for me personally isn't often enough - I would like the weather to update multiple times a day, ideally every hour or 30 minutes - This way when playing for an extended period of time doing the same content (rooftops, multiple herb runs a day, you name it) it looks different every time because of the weather.

It should of course be possible for the same weather condition to occur multiple times in a row. I would even encourage this as it could be nicely combined with the weather density setting - think more intense rain for 30 minutes before going back to light rain and back to sunny.

Dynamic weather density

It would be nice if the weather density would dynamically change so it makes more sense with the current weather pattern. Having the weather ease into it would make it more emmersive e.g. sunny to light rain -> heavy rain -> storm -> heavy rain -> light rain -> fog.

Feature Request: Day/Night cycle

A toggleable day/night cycle would be completely next level.
Maybe if not apart of this plug-in, but a new one?
I made a github account JUST to suggest this.
The weather plug-in blew me away and figured ScreteMonge would be my best bet for a plug-in suggestion!

Longer time loading chunks in Chambers of Xeric

Taking about 2 seconds to load chunks and when walking into raid with the 3D Weather plugin on, does not happen with plugin turned off. Attached video for reference.

ChunkLoadingIssue.mp4

And my settings at the time of recording:
image

Models/Animations look wrong when above ground floor

image

All weather objects spawn on the floor you're on. This always looks a little wonky but is particularly pronounced with the Rain Model/Animation due to the appearance of splashing/puddles. I do not currently know of any Rain Model/Animation that would look better, and it doesn't appear possible to set the Models to the ground floor whenever you're above the ground floor.

This may be unfixable, but will require further investigation post-release.

suggestion/feature request

can you make it so ambient sounds from the plugin turn off when OSRS ambient sounds are turned off in game? or maybe a toggleable option to do so?

Ability to enable only certain weather types, but keep dynamic

I would love to be able to keep the weather dynamic, but still enable only certain weather types. For example, I really like rainy, stormy, and snowy, but not a huge fan of cloudy, starry, or foggy. It would be perfect if I could just uncheck "cloudy", "starry" and "foggy" from the list of weather types that are chosen.

I can help implement it if that's something we'd be interested in implementing.

Fog doesnt look like fog.

Fog just doesn't feel like fog to me, looks like stink lines or wind that doesnt move or even smoke.
a better fit for it in my opinion would be to make it windy weather instead and make the animation of the fog travel in a set direction to kind of emulate a gust of wind moving across the screen instead of moving randomly.
or the option to disable certain weather cycles, like fog really takes me out of it and ruins the immersion that the other weather cycles bring.
I dont know if theres much you can do with fog due to the issues with the skybox and having to compete with more popular HD plugins.

General Performance Issues

Due to the demands of setting up to 1400 objects on the screen and animating them, performance is not at an optimum - especially at higher Weather Densities. If you're experiencing this, could you please report the following:

  1. Your device specs
  2. Which weather(s) make it better/worse
  3. How much changing Weather Density affects your performance
  4. Which in-game locations make it better/worse
  5. Your draw distance
  6. Other major plugins you're using (GPU or 117HD in particular)

Biome is incorrect when season type is set to winter

Hey! So I noticed I was having lots of continuous snow so I opened the overlay and noticed some weird places where set to the iceberg biome. Idk if that's what its called but it's the one with the 3 floating ice blocks.

The biome of places like Lumbridge and Varrock change to that biome when set to winter, dynamic, or HD 117. When Spring, Summer, or Autumn are selected the biome changes back to the location's normal one.

Feature Request: Dynamic Weather Density

Request for Dynamic Weather Type to feature varying Weather Density. The density will still have to follow the general structure of current Weather Density settings for performance (eg. if a player has WD set to Medium, Dynamic WD cannot spawn more objects than the current Medium setting)

Doing Continued Rooftop Agility Laps Unloads Objects

Black tiles gradually appear underneath boats in fremennik and fish sack agility end object disappears when doing laps on the rooftop agility course, usually after doing rooftop laps for a little while, 15-20ish laps

image

starts with 1 or 2 tiles and gets worse every transition between overworld and rooftop until all are missing as seen above

how it starts
image

happens on other courses as well
image

also does this without 117hd being active as well just to clarify
image

it seems to be the same objects/tiles every time that get unloaded

Thank you!

Feature Request: Stormy/Rainy Weather with clouds and Fog / Weather Underground sounds

  1. It would be cool to have dark flashing clouds on stormy weather or just dark clouds on rainy weather also for these you could try to use kind of static fog with depth 50 on 117HD plugin (environment section) to make it a new rainy-foggy day
  2. A nice feature could be that when you disable weather underground only disable the visual effects, but maintain the sound effects to make the weather immersive

also wanted to say thank you for all the hard work you did here, this is my favorite plugin now i'll share it with all my friends

Client lockup when moving to new (underground) areas

Hello,

I've really enjoyed this plugin for a long time and typically always leave it on. While doing clues recently I started to run into client freezes:
image

The game stops rendering and seems un-interactable, even when toggling the GPU plugin.

I found I was able to consistently recreate this by using the minecart from the GE to Keldagrim, but not in RuneLite safe mode. Iterating through my plugin hub plugins, I found 3D Weather to be the consistent problem. Seems to be independent of the GPU plugin being on or off.

It seemed to only happen when transitioning from the overworld to an underground area, as I can cause a freeze going from GE to Keldagrim, or from Edgeville to Edgeville dungeon, but not the other way around. These are my settings for the plugin (I like rain sounds):
image

With "Disable Weather Underground" unticked however, I don't find any issues.

It seems to have to do with the weather type setting. These ones cause the client to freeze:

  • Stormy
  • Snowy
  • Rainy

Interestingly, ashfall doesn't cause any problems despite being another one-tile effect (I did enable it to test).

Happy to provide any more info that could be of help.

Feature Request: Tie weather to IRL weather

It would be cool if we could enable a setting that would mimic the weather outside locally within runescape.

Ex. It is raining outside, so it is raining in runescape
Ex. It is summer where I am, so it should be summer in runescape.

Other enhancements: It is 1am locally, it is dark in runescape. (Might be out of scope of 3D-weather)

Could possibly call: https://open-meteo.com/

One popular way is to use the IP geolocation service to determine the approximate location based on the IP address of the local PC.

Here's an example of how you can use the "ip-api" service to get the approximate latitude and longitude of the local PC:

Make an HTTP request to the "ip-api" service with the local PC's public IP address.
Parse the JSON response to extract the latitude and longitude.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class LocalPCGeolocation {
    public static void main(String[] args) {
        try {
            String publicIP = getPublicIP();
            if (publicIP != null) {
                String geoLocationData = getGeolocationData(publicIP);
                if (geoLocationData != null) {
                    double latitude = parseLatitude(geoLocationData);
                    double longitude = parseLongitude(geoLocationData);
                    System.out.println("Latitude: " + latitude);
                    System.out.println("Longitude: " + longitude);
                } else {
                    System.out.println("Failed to fetch geolocation data.");
                }
            } else {
                System.out.println("Failed to get public IP address.");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static String getPublicIP() throws IOException {
        URL url = new URL("https://api.ipify.org?format=json");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        StringBuilder response = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            response.append(line);
        }
        reader.close();
        connection.disconnect();
        return response.toString();
    }

    private static String getGeolocationData(String publicIP) throws IOException {
        URL url = new URL("http://ip-api.com/json/" + publicIP);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        StringBuilder response = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            response.append(line);
        }
        reader.close();
        connection.disconnect();
        return response.toString();
    }

    private static double parseLatitude(String geoLocationData) {
        // Parse the latitude from the JSON response
        // Assuming the JSON structure is {"lat": 123.456, ...}
        int startIndex = geoLocationData.indexOf("\"lat\":") + 6;
        int endIndex = geoLocationData.indexOf(",", startIndex);
        return Double.parseDouble(geoLocationData.substring(startIndex, endIndex));
    }

    private static double parseLongitude(String geoLocationData) {
        // Parse the longitude from the JSON response
        // Assuming the JSON structure is {"lon": 123.456, ...}
        int startIndex = geoLocationData.indexOf("\"lon\":") + 6;
        int endIndex = geoLocationData.indexOf(",", startIndex);
        return Double.parseDouble(geoLocationData.substring(startIndex, endIndex));
    }
}

Weather Inside Clanhall

I noticed that the plugin treats the inside of the clan hall as though it was outside. Maybe this is a problem on Jagex's side. If so, I think disabling weather while in the clan hall is a good workaround.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.