Skip to content

Commit 8239b98

Browse files
committed
v0.16.4.0 - Polishing
- Add new debugging overlays - Sorted config into sections - No longer register ID Overlay by default - Updated how radar modes react to the Transparent Background option - New "Lower Radar" option - Increased max radius in /storages - RenderType for Radar is back to TRANSLUCENT_TRANSPARENCY - Added back Vorticy Events - Added StormEvent#getStormType and #isClientSide - Added VorticyEvent#getWeatherHandler and #isClientSide Took 3 minutes
1 parent 00a5fc3 commit 8239b98

19 files changed

Lines changed: 279 additions & 143 deletions

.github/workflows/build.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ jobs:
4141
uses: actions/upload-artifact@v4
4242
with:
4343
name: pmweatherapi
44-
path: build/libs/*[!-javadoc][!-sources].jar
44+
path: |
45+
build/libs/*.jar
46+
!build/libs/*-sources.jar
47+
!build/libs/*-javadoc.jar
4548
4649
- name: Upload sources
4750
uses: actions/upload-artifact@v4

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ parchment_mappings_version=2024.11.17
1717
mod_id=pmweatherapi
1818
mod_name=PMWeatherAPI
1919
mod_license=GNU GPL 3.0
20-
mod_version=0.16.4.0-rc1
20+
mod_version=0.16.4.0-dev-1
2121
mod_group_id=net.nullved
2222
mod_authors=nullved
2323
mod_description=An API for interfacing with ProtoManly's Weather Mod

src/main/java/net/nullved/pmweatherapi/PMWeatherAPI.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,6 @@ private void clientSetup(FMLClientSetupEvent event) {
8080
PMWClientStorages.registerStorage(RadarStorage.ID, RadarClientStorage.class, RadarClientStorage::new);
8181
PMWClientStorages.registerStorage(MetarStorage.ID, MetarClientStorage.class, MetarClientStorage::new);
8282
PMWClientStorages.registerStorage(WSRStorage.ID, WSRClientStorage.class, WSRClientStorage::new);
83-
84-
LOGGER.info("Registering PMWAPI Radar Overlays...");
85-
RadarOverlays.registerOverlay(IDOverlay.INSTANCE);
86-
// RadarOverlays.registerOverlay(ExampleOverlay.INSTANCE);
8783
}
8884
public static ResourceLocation rl(String path) {
8985
return ResourceLocation.fromNamespaceAndPath(MODID, path);

src/main/java/net/nullved/pmweatherapi/client/render/DebugOverlay.java

Lines changed: 0 additions & 38 deletions
This file was deleted.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package net.nullved.pmweatherapi.client.render.debug;
2+
3+
import net.nullved.pmweatherapi.PMWeatherAPI;
4+
import net.nullved.pmweatherapi.client.data.PMWClientStorages;
5+
import net.nullved.pmweatherapi.client.render.RadarRenderData;
6+
import net.nullved.pmweatherapi.client.render.radar.IRadarOverlay;
7+
8+
public class DebugMetarsOverlay extends DebugOverlay {
9+
public static final IRadarOverlay INSTANCE = new DebugMetarsOverlay();
10+
11+
@Override
12+
public void render(boolean canRender, RadarRenderData radarRenderData, Object... args) {
13+
PMWClientStorages.metars().get().forAllWithinRange(radarRenderData.radarPos(), radarRenderData.simSize(),
14+
msd -> renderMarker(radarRenderData, msd.getPos().getCenter(), 0xFF0000FF));
15+
}
16+
17+
@Override
18+
public String getModID() {
19+
return PMWeatherAPI.MODID;
20+
}
21+
22+
@Override
23+
public String getIDPath() {
24+
return "debug_metars";
25+
}
26+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package net.nullved.pmweatherapi.client.render.debug;
2+
3+
import com.mojang.blaze3d.vertex.PoseStack;
4+
import com.mojang.math.Axis;
5+
import net.minecraft.world.phys.Vec3;
6+
import net.nullved.pmweatherapi.PMWeatherAPI;
7+
import net.nullved.pmweatherapi.client.render.RadarRenderData;
8+
import net.nullved.pmweatherapi.client.render.radar.IRadarOverlay;
9+
import net.nullved.pmweatherapi.radar.NearbyRadars;
10+
11+
public abstract class DebugOverlay implements IRadarOverlay {
12+
protected void renderMarker(RadarRenderData radarRenderData, Vec3 pos, int color) {
13+
PoseStack pose = radarRenderData.poseStack();
14+
pose.pushPose();
15+
placeOnRadar(pos, pose, radarRenderData);
16+
scale(pose, 0.05f);
17+
renderTextureUpwards(PMWeatherAPI.rl("textures/radar/test1.png"), radarRenderData, pose, color);
18+
19+
pose.translate(0, 1, 0);
20+
renderTexture(PMWeatherAPI.rl("textures/radar/test2.png"), radarRenderData, pose, color);
21+
pose.mulPose(Axis.YP.rotationDegrees(90));
22+
renderTexture(PMWeatherAPI.rl("textures/radar/test2.png"), radarRenderData, pose, color);
23+
pose.popPose();
24+
}
25+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package net.nullved.pmweatherapi.client.render.debug;
2+
3+
import net.nullved.pmweatherapi.PMWeatherAPI;
4+
import net.nullved.pmweatherapi.client.render.RadarRenderData;
5+
import net.nullved.pmweatherapi.client.render.radar.IRadarOverlay;
6+
import net.nullved.pmweatherapi.radar.NearbyRadars;
7+
8+
public class DebugRadarsOverlay extends DebugOverlay {
9+
public static final IRadarOverlay INSTANCE = new DebugRadarsOverlay();
10+
11+
@Override
12+
public void render(boolean canRender, RadarRenderData radarRenderData, Object... args) {
13+
NearbyRadars.client().forRadarNearBlock(radarRenderData.radarPos(), radarRenderData.simSize(),
14+
bp -> renderMarker(radarRenderData, bp.getCenter(), 0xFFFF0000));
15+
}
16+
17+
@Override
18+
public String getModID() {
19+
return PMWeatherAPI.MODID;
20+
}
21+
22+
@Override
23+
public String getIDPath() {
24+
return "debug_radars";
25+
}
26+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package net.nullved.pmweatherapi.client.render.debug;
2+
3+
import net.nullved.pmweatherapi.PMWeatherAPI;
4+
import net.nullved.pmweatherapi.client.render.RadarRenderData;
5+
import net.nullved.pmweatherapi.client.render.radar.IRadarOverlay;
6+
import net.nullved.pmweatherapi.radar.NearbyRadars;
7+
import net.nullved.pmweatherapi.storm.NearbyStorms;
8+
9+
public class DebugStormsOverlay extends DebugOverlay {
10+
public static final IRadarOverlay INSTANCE = new DebugStormsOverlay();
11+
12+
@Override
13+
public void render(boolean canRender, RadarRenderData radarRenderData, Object... args) {
14+
NearbyStorms.client().forStormNearBlock(radarRenderData.radarPos(), radarRenderData.simSize(),
15+
storm -> renderMarker(radarRenderData, storm.position, 0xFFFFFFFF));
16+
}
17+
18+
@Override
19+
public String getModID() {
20+
return PMWeatherAPI.MODID;
21+
}
22+
23+
@Override
24+
public String getIDPath() {
25+
return "debug_storms";
26+
}
27+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package net.nullved.pmweatherapi.client.render.debug;
2+
3+
import net.nullved.pmweatherapi.PMWeatherAPI;
4+
import net.nullved.pmweatherapi.client.data.PMWClientStorages;
5+
import net.nullved.pmweatherapi.client.render.RadarRenderData;
6+
import net.nullved.pmweatherapi.client.render.radar.IRadarOverlay;
7+
import net.nullved.pmweatherapi.radar.NearbyRadars;
8+
9+
public class DebugWSRSOverlay extends DebugOverlay {
10+
public static final IRadarOverlay INSTANCE = new DebugWSRSOverlay();
11+
12+
@Override
13+
public void render(boolean canRender, RadarRenderData radarRenderData, Object... args) {
14+
PMWClientStorages.wsrs().get().forAllWithinRange(radarRenderData.radarPos(), radarRenderData.simSize(),
15+
wsd -> renderMarker(radarRenderData, wsd.getPos().getCenter(), 0xFF00FF00));
16+
}
17+
18+
@Override
19+
public String getModID() {
20+
return PMWeatherAPI.MODID;
21+
}
22+
23+
@Override
24+
public String getIDPath() {
25+
return "debug_wsrs";
26+
}
27+
}

src/main/java/net/nullved/pmweatherapi/client/render/radar/RadarRenderTypes.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class RadarRenderTypes {
2323
false,
2424
RenderType.CompositeState.builder()
2525
.setShaderState(RenderStateShard.POSITION_COLOR_SHADER)
26-
.setTransparencyState(NO_TRANSPARENCY)
26+
.setTransparencyState(TRANSLUCENT_TRANSPARENCY)
2727
.setDepthTestState(RenderStateShard.LEQUAL_DEPTH_TEST)
2828
.setWriteMaskState(COLOR_DEPTH_WRITE)
2929
.setCullState(RenderStateShard.NO_CULL)

0 commit comments

Comments
 (0)