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;
}
@@ -174,8 +174,7 @@ public class BlockThorns extends BlockBush implements ITileEntityProvider {
@SubscribeEvent
public static void onLeftClickBlockEvent(PlayerInteractEvent.LeftClickBlock event){
if(!event.getWorld().isRemote && event.getWorld().getTotalWorldTime() % 20 == 0
&& event.getWorld().getBlockState(event.getPos()).getBlock() == WizardryBlocks.thorns){
if(!event.getWorld().isRemote && event.getWorld().getBlockState(event.getPos()).getBlock() == WizardryBlocks.thorns){
applyThornDamage(event.getWorld(), event.getPos(), event.getEntity());
}
}
@@ -52,7 +52,7 @@ public class RenderShadowWard {
GlStateManager.pushMatrix();
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);
Tessellator tessellator = Tessellator.getInstance();
@@ -116,7 +116,7 @@ public class RenderShadowWard {
BufferBuilder buffer = tessellator.getBuffer();
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);
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.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);
this.renderItem(tileentity, t);
@@ -54,7 +54,7 @@ public class RenderImbuementAltar extends TileEntitySpecialRenderer<TileEntityIm
private void renderRays(TileEntityImbuementAltar tileentity, float partialTicks){
float t = (getWorld().getTotalWorldTime() + partialTicks);
float t = Minecraft.getMinecraft().player.ticksExisted + partialTicks;
Tessellator tessellator = Tessellator.getInstance();
BufferBuilder buffer = tessellator.getBuffer();
@@ -1,5 +1,6 @@
package electroblob.wizardry.spell;
import electroblob.wizardry.Wizardry;
import electroblob.wizardry.item.SpellActions;
import electroblob.wizardry.registry.WizardryItems;
import electroblob.wizardry.util.*;
@@ -90,11 +91,11 @@ public class RayOfPurification extends SpellRay {
if(caster != null){
ParticleBuilder.create(Type.BEAM).entity(caster).pos(origin.subtract(caster.getPositionVector()))
.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{
ParticleBuilder.create(Type.BEAM).pos(origin).target(origin.add(direction.scale(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(Wizardry.proxy.getThePlayer().ticksExisted * 0.2f) * 0.1f + 1.4f).spawn(world);
}
}
}