Skip to content

Commit 11f4714

Browse files
committed
fix: check player.world.provider sooner
hopeful fix for #146
1 parent 3fc7af2 commit 11f4714

File tree

3 files changed

+44
-54
lines changed

3 files changed

+44
-54
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
id 'org.cadixdev.licenser' version '0.6.1'
55
id 'com.diffplug.spotless' version '6.13.0'
66
id 'net.minecraftforge.gradle' version '6.+'
7-
id 'net.galacticraft.internal.legacy' version '1.0.1'
7+
id 'net.galacticraft.internal.legacy' version '1.0.3'
88
id 'nexus-publishing' version '2.1'
99
}
1010

@@ -23,7 +23,7 @@ repositories {
2323
}
2424

2525
dependencies {
26-
minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}"
26+
minecraft "net.minecraftforge:forge:${MC_VERSION}-${forge_version}"
2727

2828
compileRequired fg.deobf('mod.dependency:mekanism:9.8.3.390')
2929
compileRequired fg.deobf('mod.dependency:industrialcraft-2:2.8.222-ex112')

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
org.gradle.jvmargs=-Xmx3G
22
org.gradle.daemon=false
33

4-
mc_version=1.12.2
4+
MC_VERSION=1.12.2
55
forge_version=14.23.5.2860
66
mapping_channel=stable
77
mapping_version=39-1.12

src/main/java/micdoodle8/mods/galacticraft/planets/venus/client/TickHandlerClientVenus.java

Lines changed: 41 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -7,61 +7,49 @@
77

88
package micdoodle8.mods.galacticraft.planets.venus.client;
99

10-
import com.google.common.collect.Maps;
1110
import java.util.Iterator;
1211
import java.util.Map;
13-
import micdoodle8.mods.galacticraft.api.world.IGalacticraftWorldProvider;
14-
import micdoodle8.mods.galacticraft.core.client.CloudRenderer;
15-
import micdoodle8.mods.galacticraft.core.proxy.ClientProxyCore;
16-
import micdoodle8.mods.galacticraft.core.util.PlayerUtil;
17-
import micdoodle8.mods.galacticraft.planets.venus.ConfigManagerVenus;
18-
import micdoodle8.mods.galacticraft.planets.venus.dimension.WorldProviderVenus;
12+
1913
import net.minecraft.client.Minecraft;
2014
import net.minecraft.client.entity.EntityPlayerSP;
2115
import net.minecraft.client.multiplayer.WorldClient;
2216
import net.minecraft.init.SoundEvents;
2317
import net.minecraft.util.SoundCategory;
2418
import net.minecraft.util.math.BlockPos;
19+
2520
import net.minecraftforge.fml.client.FMLClientHandler;
2621
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
2722
import net.minecraftforge.fml.common.gameevent.TickEvent;
28-
import net.minecraftforge.fml.common.gameevent.TickEvent.Phase;
29-
import net.minecraftforge.fml.common.gameevent.TickEvent.RenderTickEvent;
3023
import net.minecraftforge.fml.relauncher.Side;
3124
import net.minecraftforge.fml.relauncher.SideOnly;
3225

26+
import micdoodle8.mods.galacticraft.api.world.IGalacticraftWorldProvider;
27+
import micdoodle8.mods.galacticraft.core.client.CloudRenderer;
28+
import micdoodle8.mods.galacticraft.core.proxy.ClientProxyCore;
29+
import micdoodle8.mods.galacticraft.planets.venus.ConfigManagerVenus;
30+
import micdoodle8.mods.galacticraft.planets.venus.dimension.WorldProviderVenus;
31+
32+
import com.google.common.collect.Maps;
33+
3334
@SideOnly(Side.CLIENT)
3435
public class TickHandlerClientVenus
3536
{
3637

3738
private Map<BlockPos, Integer> lightning = Maps.newHashMap();
3839

39-
@SubscribeEvent
40-
public void onRenderTick(RenderTickEvent event)
41-
{
42-
final Minecraft minecraft = FMLClientHandler.instance().getClient();
43-
final EntityPlayerSP player = minecraft.player;
44-
final EntityPlayerSP playerBaseClient = PlayerUtil.getPlayerBaseClientFromPlayer(player, false);
45-
46-
if (event.phase == Phase.END)
47-
{
48-
}
49-
}
50-
5140
@SubscribeEvent
5241
public void renderLightning(ClientProxyCore.EventSpecialRender event)
5342
{
54-
final Minecraft minecraft = FMLClientHandler.instance().getClient();
55-
final EntityPlayerSP player = minecraft.player;
43+
final Minecraft minecraft = FMLClientHandler.instance().getClient();
44+
final EntityPlayerSP player = minecraft.player;
5645
if (player != null && !ConfigManagerVenus.disableAmbientLightning)
5746
{
5847
Iterator<Map.Entry<BlockPos, Integer>> it = lightning.entrySet().iterator();
5948
while (it.hasNext())
6049
{
6150
Map.Entry<BlockPos, Integer> entry = it.next();
62-
long seed = entry.getValue() / 10 + entry.getKey().getX() + entry.getKey().getZ();
63-
FakeLightningBoltRenderer.renderBolt(seed, entry.getKey().getX() - ClientProxyCore.playerPosX, entry.getKey().getY() - ClientProxyCore.playerPosY,
64-
entry.getKey().getZ() - ClientProxyCore.playerPosZ);
51+
long seed = entry.getValue() / 10 + entry.getKey().getX() + entry.getKey().getZ();
52+
FakeLightningBoltRenderer.renderBolt(seed, entry.getKey().getX() - ClientProxyCore.playerPosX, entry.getKey().getY() - ClientProxyCore.playerPosY, entry.getKey().getZ() - ClientProxyCore.playerPosZ);
6553
}
6654
}
6755
}
@@ -100,40 +88,42 @@ public void onClientTick(TickEvent.ClientTickEvent event)
10088
@SubscribeEvent
10189
public void onPlayerTick(TickEvent.PlayerTickEvent event)
10290
{
103-
final Minecraft minecraft = FMLClientHandler.instance().getClient();
104-
final EntityPlayerSP player = minecraft.player;
91+
final Minecraft minecraft = FMLClientHandler.instance().getClient();
92+
final EntityPlayerSP player = minecraft.player;
10593

10694
if (player == event.player)
10795
{
108-
if (!ConfigManagerVenus.disableAmbientLightning)
96+
// Maybe check for the right provider before we continue
97+
if (player.world.provider instanceof WorldProviderVenus)
10998
{
110-
Iterator<Map.Entry<BlockPos, Integer>> it = lightning.entrySet().iterator();
111-
while (it.hasNext())
99+
if (!ConfigManagerVenus.disableAmbientLightning)
112100
{
113-
Map.Entry<BlockPos, Integer> entry = it.next();
114-
int val = entry.getValue();
115-
if (val - 1 <= 0)
101+
Iterator<Map.Entry<BlockPos, Integer>> it = lightning.entrySet().iterator();
102+
while (it.hasNext())
116103
{
117-
it.remove();
118-
} else
104+
Map.Entry<BlockPos, Integer> entry = it.next();
105+
int val = entry.getValue();
106+
if (val - 1 <= 0)
107+
{
108+
it.remove();
109+
} else
110+
{
111+
entry.setValue(val - 1);
112+
}
113+
}
114+
if (player.getRNG().nextInt(300 + (int) (800F * minecraft.world.rainingStrength)) == 0)
119115
{
120-
entry.setValue(val - 1);
116+
double freq = player.getRNG().nextDouble() * Math.PI * 2.0F;
117+
double dist = 180.0F;
118+
double dX = dist * Math.cos(freq);
119+
double dZ = dist * Math.sin(freq);
120+
double posX = player.posX + dX;
121+
double posY = 70;
122+
double posZ = player.posZ + dZ;
123+
minecraft.world.playSound(player, posX, posY, posZ, SoundEvents.ENTITY_LIGHTNING_THUNDER, SoundCategory.WEATHER, 500.0F + player.getRNG().nextFloat() * 500F, 1.0F + player.getRNG().nextFloat() * 0.2F);
124+
lightning.put(new BlockPos(posX, posY, posZ), 20);
121125
}
122126
}
123-
124-
if (player.getRNG().nextInt(300 + (int) (800F * minecraft.world.rainingStrength)) == 0 && minecraft.world.provider instanceof WorldProviderVenus)
125-
{
126-
double freq = player.getRNG().nextDouble() * Math.PI * 2.0F;
127-
double dist = 180.0F;
128-
double dX = dist * Math.cos(freq);
129-
double dZ = dist * Math.sin(freq);
130-
double posX = player.posX + dX;
131-
double posY = 70;
132-
double posZ = player.posZ + dZ;
133-
minecraft.world.playSound(player, posX, posY, posZ, SoundEvents.ENTITY_LIGHTNING_THUNDER, SoundCategory.WEATHER, 500.0F + player.getRNG().nextFloat() * 500F,
134-
1.0F + player.getRNG().nextFloat() * 0.2F);
135-
lightning.put(new BlockPos(posX, posY, posZ), 20);
136-
}
137127
}
138128
}
139129
}

0 commit comments

Comments
 (0)