gitextract_0mtt1k7r/ ├── .gitattributes ├── .github/ │ └── workflows/ │ └── gradle.yml ├── .gitignore ├── CONTRIBUTING.md ├── CREDITS.txt ├── LICENSE.txt ├── README.txt ├── build.gradle ├── changelog.txt ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── libs/ │ └── coroutil-forge-1.20.1-1.3.7.jar ├── settings.gradle └── src/ ├── generated/ │ └── resources/ │ ├── .cache/ │ │ ├── 0d0f48ca72ebc11ea3eaf67230fd125a3c581fa7 │ │ ├── 59eb3dbb5f86130e09b3c62d89b9525ee01cf52d │ │ ├── 9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e │ │ └── f991d9ad226694c30732bf45648e031ffa7d50dc │ ├── assets/ │ │ └── minecraft/ │ │ └── atlases/ │ │ ├── blocks.json │ │ └── particles.json │ └── data/ │ └── weather2/ │ ├── advancements/ │ │ └── recipes/ │ │ └── misc/ │ │ ├── anemometer.json │ │ ├── sand_layer.json │ │ ├── tornado_sensor.json │ │ ├── tornado_siren.json │ │ ├── weather_deflector.json │ │ ├── weather_forecast.json │ │ ├── weather_item.json │ │ ├── wind_turbine.json │ │ └── wind_vane.json │ ├── loot_tables/ │ │ └── blocks/ │ │ ├── anemometer.json │ │ ├── sand_layer.json │ │ ├── tornado_sensor.json │ │ ├── tornado_siren.json │ │ ├── weather_deflector.json │ │ ├── weather_forecast.json │ │ ├── wind_turbine.json │ │ └── wind_vane.json │ └── recipes/ │ ├── anemometer.json │ ├── sand_layer.json │ ├── tornado_sensor.json │ ├── tornado_siren.json │ ├── weather_deflector.json │ ├── weather_forecast.json │ ├── weather_item.json │ ├── wind_turbine.json │ └── wind_vane.json └── main/ ├── java/ │ ├── extendedrenderer/ │ │ ├── ExtendedRenderer.java │ │ ├── ParticleManagerExtended.java │ │ ├── ParticleRegistry2ElectricBubbleoo.java │ │ ├── WeatherSpriteSourceProvider.java │ │ └── particle/ │ │ ├── ParticleRegistry.java │ │ ├── behavior/ │ │ │ ├── ParticleBehaviorFog.java │ │ │ ├── ParticleBehaviorSandstorm.java │ │ │ └── ParticleBehaviors.java │ │ └── entity/ │ │ ├── DustEmitter.java │ │ ├── EntityRotFX.java │ │ ├── ParticleCrossSection.java │ │ ├── ParticleCube.java │ │ ├── ParticleEmitter.java │ │ ├── ParticleTexExtraRender.java │ │ ├── ParticleTexFX.java │ │ ├── ParticleTexLeafColor.java │ │ ├── PivotingParticle.java │ │ └── WaterDropParticleImpl.java │ └── weather2/ │ ├── ClientRegistry.java │ ├── ClientTickHandler.java │ ├── ClientWeatherHelper.java │ ├── ClientWeatherProxy.java │ ├── DeferredHelper.java │ ├── EntityRegistry.java │ ├── EventHandlerForge.java │ ├── IWindHandler.java │ ├── IWorldData.java │ ├── PacketNBTFromClient.java │ ├── PacketNBTFromServer.java │ ├── PerlinNoiseHelper.java │ ├── ServerTickHandler.java │ ├── ServerWeatherProxy.java │ ├── SoundRegistry.java │ ├── Weather.java │ ├── WeatherBlocks.java │ ├── WeatherItems.java │ ├── WeatherNetworking.java │ ├── WeatherTab.java │ ├── WorldNBTData.java │ ├── block/ │ │ ├── AnemometerBlock.java │ │ ├── DeflectorBlock.java │ │ ├── ForecastBlock.java │ │ ├── SandLayerBlock.java │ │ ├── SensorBlock.java │ │ ├── SirenBlock.java │ │ ├── WeatherMachineBlock.java │ │ ├── WindTurbineBlock.java │ │ └── WindVaneBlock.java │ ├── blockentity/ │ │ ├── AnemometerBlockEntity.java │ │ ├── DeflectorBlockEntity.java │ │ ├── SensorBlockEntity.java │ │ ├── SirenBlockEntity.java │ │ ├── WeatherMachineBlockEntity.java │ │ ├── WindTurbineBlockEntity.java │ │ └── WindVaneBlockEntity.java │ ├── client/ │ │ ├── MovingSoundStreamingSource.java │ │ ├── SceneEnhancer.java │ │ ├── entity/ │ │ │ ├── model/ │ │ │ │ ├── AnemometerModel.java │ │ │ │ ├── WindTurbineModel.java │ │ │ │ └── WindVaneModel.java │ │ │ ├── particle/ │ │ │ │ ├── ParticleHail.java │ │ │ │ └── ParticleSandstorm.java │ │ │ └── render/ │ │ │ └── LightningBoltWeatherNewRenderer.java │ │ └── tile/ │ │ ├── AnemometerEntityRenderer.java │ │ ├── WindTurbineEntityRenderer.java │ │ └── WindVaneEntityRenderer.java │ ├── command/ │ │ ├── CommandWeather2Client.java │ │ └── WeatherCommand.java │ ├── config/ │ │ ├── ClientConfigData.java │ │ ├── ConfigDebug.java │ │ ├── ConfigFoliage.java │ │ ├── ConfigMisc.java │ │ ├── ConfigParticle.java │ │ ├── ConfigSand.java │ │ ├── ConfigSnow.java │ │ ├── ConfigSound.java │ │ ├── ConfigStorm.java │ │ ├── ConfigTornado.java │ │ ├── ConfigWind.java │ │ └── WeatherUtilConfig.java │ ├── data/ │ │ ├── BlockAndItemProvider.java │ │ ├── BlockLootTables.java │ │ └── WeatherRecipeProvider.java │ ├── datatypes/ │ │ ├── PrecipitationType.java │ │ ├── StormState.java │ │ └── WeatherEventType.java │ ├── energy/ │ │ └── EnergyManager.java │ ├── item/ │ │ └── WeatherItem.java │ ├── ltcompat/ │ │ ├── ClientWeatherIntegration.java │ │ └── ServerWeatherIntegration.java │ ├── mixin/ │ │ └── client/ │ │ ├── GameRendererOverride.java │ │ └── RenderParticlesOverride.java │ ├── player/ │ │ └── PlayerData.java │ ├── util/ │ │ ├── CachedNBTTagCompound.java │ │ ├── WeatherUtil.java │ │ ├── WeatherUtilBlock.java │ │ ├── WeatherUtilDim.java │ │ ├── WeatherUtilEntity.java │ │ ├── WeatherUtilParticle.java │ │ ├── WeatherUtilPhysics.java │ │ ├── WeatherUtilSound.java │ │ └── WindReader.java │ └── weathersystem/ │ ├── WeatherManager.java │ ├── WeatherManagerClient.java │ ├── WeatherManagerServer.java │ ├── fog/ │ │ ├── FogAdjuster.java │ │ └── FogProfile.java │ ├── storm/ │ │ ├── EnumWeatherObjectType.java │ │ ├── LightningBoltWeather.java │ │ ├── LightningBoltWeatherNew.java │ │ ├── StormObject.java │ │ ├── TornadoHelper.java │ │ ├── WeatherEntityConfig.java │ │ ├── WeatherObject.java │ │ ├── WeatherObjectParticleStorm.java │ │ ├── WeatherObjectSandstormOld.java │ │ └── WeatherTypes.java │ ├── tornado/ │ │ ├── ActiveTornadoConfig.java │ │ ├── CatmullRomSpline.java │ │ ├── CubicBezierCurve.java │ │ ├── Path.java │ │ ├── TornadoFunnel.java │ │ ├── TornadoManagerTodoRenameMe.java │ │ ├── Vector.java │ │ └── simple/ │ │ ├── Layer.java │ │ └── TornadoFunnelSimple.java │ └── wind/ │ ├── WindInfoCache.java │ └── WindManager.java └── resources/ ├── META-INF/ │ ├── accesstransformer.cfg │ └── mods.toml ├── assets/ │ ├── coroutil/ │ │ ├── blockstates/ │ │ │ ├── blank.json │ │ │ └── repairing_block.json │ │ ├── config/ │ │ │ ├── loot_tables/ │ │ │ │ ├── testloot.json │ │ │ │ └── testlootboss.json │ │ │ └── templates/ │ │ │ ├── actions/ │ │ │ │ ├── mob_spawns.json │ │ │ │ ├── mob_spawns_example_commented.json │ │ │ │ └── mob_spawns_testing_miners.json │ │ │ ├── cmods/ │ │ │ │ ├── all_cmods.json │ │ │ │ └── invasions_cmods.json │ │ │ └── conditions/ │ │ │ ├── all_conditions.json │ │ │ └── invasions_stages.json │ │ ├── lang/ │ │ │ └── en_us.json │ │ ├── models/ │ │ │ ├── block/ │ │ │ │ ├── blank.json │ │ │ │ └── repairing_block.json │ │ │ └── item/ │ │ │ ├── item_repairing_gel.json │ │ │ └── repairing_block.json │ │ ├── shaders/ │ │ │ ├── foliage.fs │ │ │ ├── foliage.vs │ │ │ ├── particle.fs │ │ │ └── particle.vs │ │ └── textures/ │ │ └── particles/ │ │ ├── cloud.xcf │ │ ├── cloud256.xcf │ │ ├── clouds.xcf │ │ └── hail.xcf │ └── weather2/ │ ├── blockstates/ │ │ ├── anemometer.json │ │ ├── sand_layer.json │ │ ├── tornado_sensor.json │ │ ├── tornado_sensor_new.json │ │ ├── tornado_siren.json │ │ ├── tornado_siren_manual.json │ │ ├── tornado_siren_old.json │ │ ├── weather_deflector.json │ │ ├── weather_forecast.json │ │ ├── weather_machine.json │ │ ├── wind_turbine.json │ │ └── wind_vane.json │ ├── lang/ │ │ └── en_us.json │ ├── models/ │ │ ├── block/ │ │ │ ├── anemometer.json │ │ │ ├── sand_height10.json │ │ │ ├── sand_height12.json │ │ │ ├── sand_height14.json │ │ │ ├── sand_height2.json │ │ │ ├── sand_height4.json │ │ │ ├── sand_height6.json │ │ │ ├── sand_height8.json │ │ │ ├── tornado_sensor.json │ │ │ ├── tornado_siren.json │ │ │ ├── tornado_siren_manual.json │ │ │ ├── weather_deflector.json │ │ │ ├── weather_forecast.json │ │ │ ├── weather_machine.json │ │ │ ├── wind_turbine.json │ │ │ └── wind_vane.json │ │ └── item/ │ │ ├── anemometer.json │ │ ├── pocket_sand.json │ │ ├── sand_layer.json │ │ ├── sand_layer_placeable.json │ │ ├── tornado_sensor.json │ │ ├── tornado_siren.json │ │ ├── tornado_siren_manual.json │ │ ├── weather_deflector.json │ │ ├── weather_forecast.json │ │ ├── weather_item.json │ │ ├── weather_machine.json │ │ ├── wind_turbine.json │ │ └── wind_vane.json │ ├── particles/ │ │ └── acidrain_splash.json │ ├── shaders/ │ │ ├── core/ │ │ │ ├── rendertype_clouds.fsh │ │ │ ├── rendertype_clouds.json │ │ │ ├── rendertype_clouds.vsh │ │ │ ├── rendertype_clouds_orig.vsh │ │ │ └── rendertype_clouds_wip.json │ │ └── include/ │ │ └── classicnoise3d.glsl │ ├── sounds/ │ │ ├── env/ │ │ │ ├── waterfall.ogg │ │ │ ├── wind_calm.ogg │ │ │ └── wind_calmfade.ogg │ │ └── streaming/ │ │ ├── destruction.ogg │ │ ├── destruction_0_.ogg │ │ ├── destruction_1_.ogg │ │ ├── destruction_2_.ogg │ │ ├── destruction_s.ogg │ │ ├── destructionb.ogg │ │ ├── sandstorm_high1.ogg │ │ ├── sandstorm_low1.ogg │ │ ├── sandstorm_low2.ogg │ │ ├── sandstorm_med1.ogg │ │ ├── sandstorm_med2.ogg │ │ ├── siren.ogg │ │ ├── siren_sandstorm_1.ogg │ │ ├── siren_sandstorm_2.ogg │ │ ├── siren_sandstorm_3.ogg │ │ ├── siren_sandstorm_4.ogg │ │ ├── siren_sandstorm_5_extra.ogg │ │ ├── siren_sandstorm_6_extra.ogg │ │ ├── wind_close.ogg │ │ ├── wind_close_0_.ogg │ │ ├── wind_close_1_.ogg │ │ ├── wind_close_2_.ogg │ │ ├── wind_far.ogg │ │ ├── wind_far_0_.ogg │ │ ├── wind_far_1_.ogg │ │ └── wind_far_2_.ogg │ └── sounds.json ├── pack.mcmeta └── weather2.mixins.json