1
+ /*
2
+ * Copyright (c) 2019-2025 Team Galacticraft
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in all
12
+ * copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+ package dev .galacticraft .mod .client .particle ;
24
+
25
+ import dev .galacticraft .mod .content .GCFluids ;
26
+ import dev .galacticraft .mod .particle .GCParticleTypes ;
27
+ import net .fabricmc .api .EnvType ;
28
+ import net .fabricmc .api .Environment ;
29
+ import net .minecraft .client .multiplayer .ClientLevel ;
30
+ import net .minecraft .client .particle .DripParticle ;
31
+ import net .minecraft .client .particle .Particle ;
32
+ import net .minecraft .client .particle .ParticleProvider ;
33
+ import net .minecraft .client .particle .SpriteSet ;
34
+ import net .minecraft .core .particles .SimpleParticleType ;
35
+ import org .jetbrains .annotations .Nullable ;
36
+
37
+ @ Environment (EnvType .CLIENT )
38
+ public record DrippingSulfuricAcidProvider (SpriteSet spriteProvider ) implements ParticleProvider <SimpleParticleType > {
39
+ @ Override
40
+ @ Nullable
41
+ public Particle createParticle (SimpleParticleType particleOptions , ClientLevel clientLevel , double x , double y , double z , double velocityX , double velocityY , double velocityZ ) {
42
+ var particle = new DripParticle .DripHangParticle (clientLevel , x , y , z , GCFluids .SULFURIC_ACID , GCParticleTypes .FALLING_SULFURIC_ACID );
43
+ particle .setColor (151f / 255f , 245f / 255f , 70f / 255f );
44
+ particle .pickSprite (this .spriteProvider );
45
+ return particle ;
46
+ }
47
+ }
0 commit comments