Skip to content

Commit 769d0aa

Browse files
committed
v0.15.3.0 - Update to PMWeather 0.15.3
- Fixed badlands radar color - Fixed duplicate property crash - Added shift + rclick functionality Took 13 minutes
1 parent 404be0d commit 769d0aa

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ 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.15.2.0
20+
mod_version=0.15.3.0
2121
mod_group_id=net.nullved
2222
mod_authors=NullVed
2323
mod_description=An API for interfacing with ProtoManly's Weather Mod
2424

2525
# Dependencies
26-
pmweather_version=0.15.2
26+
pmweather_version=0.15.3
2727
pmweather_version_range=[0.15.0-1.21.1-alpha,0.15.999-1.21.1-alpha)

src/main/java/net/nullved/pmweatherapi/mixin/RadarBlockMixin.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import net.minecraft.world.level.block.Block;
1111
import net.minecraft.world.level.block.state.BlockState;
1212
import net.minecraft.world.level.block.state.StateDefinition;
13+
import net.minecraft.world.level.block.state.properties.BooleanProperty;
1314
import net.minecraft.world.level.block.state.properties.EnumProperty;
1415
import net.minecraft.world.phys.BlockHitResult;
1516
import net.nullved.pmweatherapi.data.PMWExtras;
@@ -24,13 +25,14 @@
2425
@Mixin(RadarBlock.class)
2526
public class RadarBlockMixin {
2627
@Shadow public static EnumProperty<RadarBlock.Mode> RADAR_MODE;
28+
@Shadow public static BooleanProperty ON;
2729

2830
@Redirect(method = "<init>", at = @At(value = "INVOKE", target = "Ldev/protomanly/pmweather/block/RadarBlock;registerDefaultState(Lnet/minecraft/world/level/block/state/BlockState;)V"))
2931
private void init(RadarBlock instance, BlockState state) {
3032
instance.registerDefaultState(instance.defaultBlockState().setValue(PMWExtras.RADAR_MODE, RadarMode.REFLECTIVITY).setValue(RADAR_MODE, RadarBlock.Mode.REFLECTIVITY));
3133
}
3234

33-
@Inject(method = "createBlockStateDefinition", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/StateDefinition$Builder;add([Lnet/minecraft/world/level/block/state/properties/Property;)Lnet/minecraft/world/level/block/state/StateDefinition$Builder;"))
35+
@Inject(method = "createBlockStateDefinition", at = @At(value = "TAIL"))
3436
private void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder, CallbackInfo ci) {
3537
builder.add(PMWExtras.RADAR_MODE);
3638
}
@@ -39,6 +41,11 @@ private void createBlockStateDefinition(StateDefinition.Builder<Block, BlockStat
3941
private InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hitResult, Operation<InteractionResult> original) {
4042
original.call(state, level, pos, player, hitResult);
4143

44+
if (player.isCrouching()) {
45+
level.setBlockAndUpdate(pos, state.setValue(ON, !state.getValue(ON)));
46+
return InteractionResult.SUCCESS_NO_ITEM_USED;
47+
}
48+
4249
if (!level.isClientSide()) {
4350
RadarMode currentMode = state.getValue(PMWExtras.RADAR_MODE);
4451
RadarMode newMode = currentMode.cycle();

src/main/java/net/nullved/pmweatherapi/mixin/RadarRendererMixin.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.mojang.blaze3d.systems.RenderSystem;
66
import com.mojang.blaze3d.vertex.*;
77
import dev.protomanly.pmweather.PMWeather;
8+
import dev.protomanly.pmweather.block.RadarBlock;
89
import dev.protomanly.pmweather.block.entity.RadarBlockEntity;
910
import dev.protomanly.pmweather.config.ClientConfig;
1011
import dev.protomanly.pmweather.config.ServerConfig;
@@ -61,6 +62,7 @@ public class RadarRendererMixin {
6162
private void render(BlockEntity blockEntity, float partialTicks, PoseStack poseStack, MultiBufferSource multiBufferSource, int combinedLightIn, int combinedOverlayIn, Operation<Void> original) {
6263
if (!(blockEntity instanceof RadarBlockEntity radarBlockEntity)) return;
6364
if (Minecraft.getInstance().player.position().distanceTo(blockEntity.getBlockPos().getCenter()) > (double) 20.0F || RenderedRadars > 2) return;
65+
if (!radarBlockEntity.getBlockState().getValue(RadarBlock.ON)) return;
6466

6567
++RenderedRadars;
6668
boolean canRender = true;
@@ -439,7 +441,7 @@ private void render(BlockEntity blockEntity, float partialTicks, PoseStack poseS
439441
String rn = biome.getRegisteredName().toLowerCase();
440442
if (rn.contains("ocean") || rn.contains("river")) startColor = new Color(biome.value().getWaterColor());
441443
else if (rn.contains("beach") || rn.contains("desert")) startColor = new Color(227, 198, 150);
442-
else if (rn.contains("badlangs")) startColor = new Color(214, 111, 42);
444+
else if (rn.contains("badlands")) startColor = new Color(214, 111, 42);
443445
else startColor = new Color(biome.value().getGrassColor(worldPos.x, worldPos.z));
444446

445447
radarBlockEntity.terrainMap.put(longID, startColor);

0 commit comments

Comments
 (0)