For some reason getTotalWorldTime isn't incrementing client-side in some cases when the doDaylightCycle is off, so replace them with alternatives wherever possible

What's really weird is sometimes it works just fine, even in client-side stuff
This commit is contained in:
Electroblob77
2020-06-18 16:20:10 +01:00
parent bfd7f6e5a5
commit f7f9190227
4 changed files with 9 additions and 9 deletions
@@ -147,7 +147,7 @@ public class BlockThorns extends BlockBush implements ITileEntityProvider {
} }
} }
if(world.getTotalWorldTime() % 20 == 0) target.attackEntityFrom(source, Spells.forest_of_thorns.getProperty(Spell.DAMAGE).floatValue()); if(target.ticksExisted % 20 == 0) target.attackEntityFrom(source, Spells.forest_of_thorns.getProperty(Spell.DAMAGE).floatValue());
return true; return true;
} }
@@ -174,8 +174,7 @@ public class BlockThorns extends BlockBush implements ITileEntityProvider {
@SubscribeEvent @SubscribeEvent
public static void onLeftClickBlockEvent(PlayerInteractEvent.LeftClickBlock event){ public static void onLeftClickBlockEvent(PlayerInteractEvent.LeftClickBlock event){
if(!event.getWorld().isRemote && event.getWorld().getTotalWorldTime() % 20 == 0 if(!event.getWorld().isRemote && event.getWorld().getBlockState(event.getPos()).getBlock() == WizardryBlocks.thorns){
&& event.getWorld().getBlockState(event.getPos()).getBlock() == WizardryBlocks.thorns){
applyThornDamage(event.getWorld(), event.getPos(), event.getEntity()); applyThornDamage(event.getWorld(), event.getPos(), event.getEntity());
} }
} }
@@ -52,7 +52,7 @@ public class RenderShadowWard {
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.translate(0, 0, 1.2); GlStateManager.translate(0, 0, 1.2);
GlStateManager.rotate(player.world.getTotalWorldTime() * -2, 0, 0, 1); GlStateManager.rotate(player.ticksExisted * -2, 0, 0, 1);
GlStateManager.scale(1.1, 1.1, 1.1); GlStateManager.scale(1.1, 1.1, 1.1);
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
@@ -116,7 +116,7 @@ public class RenderShadowWard {
BufferBuilder buffer = tessellator.getBuffer(); BufferBuilder buffer = tessellator.getBuffer();
GlStateManager.translate(0, 1.2, 0); GlStateManager.translate(0, 1.2, 0);
GlStateManager.rotate(player.world.getTotalWorldTime() * -2, 0, 0, 1); GlStateManager.rotate(player.ticksExisted * -2, 0, 0, 1);
GlStateManager.scale(1.1, 1.1, 1.1); GlStateManager.scale(1.1, 1.1, 1.1);
buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
@@ -25,7 +25,7 @@ public class RenderImbuementAltar extends TileEntitySpecialRenderer<TileEntityIm
GlStateManager.translate((float)x + 0.5F, (float)y + 1.4F, (float)z + 0.5F); GlStateManager.translate((float)x + 0.5F, (float)y + 1.4F, (float)z + 0.5F);
GlStateManager.rotate(180, 0F, 0F, 1F); GlStateManager.rotate(180, 0F, 0F, 1F);
float t = (getWorld().getTotalWorldTime() + partialTicks); float t = Minecraft.getMinecraft().player.ticksExisted + partialTicks;
GlStateManager.translate(0, 0.05f * MathHelper.sin(t/15), 0); GlStateManager.translate(0, 0.05f * MathHelper.sin(t/15), 0);
this.renderItem(tileentity, t); this.renderItem(tileentity, t);
@@ -54,7 +54,7 @@ public class RenderImbuementAltar extends TileEntitySpecialRenderer<TileEntityIm
private void renderRays(TileEntityImbuementAltar tileentity, float partialTicks){ private void renderRays(TileEntityImbuementAltar tileentity, float partialTicks){
float t = (getWorld().getTotalWorldTime() + partialTicks); float t = Minecraft.getMinecraft().player.ticksExisted + partialTicks;
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
BufferBuilder buffer = tessellator.getBuffer(); BufferBuilder buffer = tessellator.getBuffer();
@@ -1,5 +1,6 @@
package electroblob.wizardry.spell; package electroblob.wizardry.spell;
import electroblob.wizardry.Wizardry;
import electroblob.wizardry.item.SpellActions; import electroblob.wizardry.item.SpellActions;
import electroblob.wizardry.registry.WizardryItems; import electroblob.wizardry.registry.WizardryItems;
import electroblob.wizardry.util.*; import electroblob.wizardry.util.*;
@@ -90,11 +91,11 @@ public class RayOfPurification extends SpellRay {
if(caster != null){ if(caster != null){
ParticleBuilder.create(Type.BEAM).entity(caster).pos(origin.subtract(caster.getPositionVector())) ParticleBuilder.create(Type.BEAM).entity(caster).pos(origin.subtract(caster.getPositionVector()))
.length(distance).clr(1, 0.6f + 0.3f * world.rand.nextFloat(), 0.2f) .length(distance).clr(1, 0.6f + 0.3f * world.rand.nextFloat(), 0.2f)
.scale(MathHelper.sin(world.getTotalWorldTime() * 0.2f) * 0.1f + 1.4f).spawn(world); .scale(MathHelper.sin(caster.ticksExisted * 0.2f) * 0.1f + 1.4f).spawn(world);
}else{ }else{
ParticleBuilder.create(Type.BEAM).pos(origin).target(origin.add(direction.scale(distance))) ParticleBuilder.create(Type.BEAM).pos(origin).target(origin.add(direction.scale(distance)))
.clr(1, 0.6f + 0.3f * world.rand.nextFloat(), 0.2f) .clr(1, 0.6f + 0.3f * world.rand.nextFloat(), 0.2f)
.scale(MathHelper.sin(world.getTotalWorldTime() * 0.2f) * 0.1f + 1.4f).spawn(world); .scale(MathHelper.sin(Wizardry.proxy.getThePlayer().ticksExisted * 0.2f) * 0.1f + 1.4f).spawn(world);
} }
} }
} }