extremeBenchmark

This commit is contained in:
gnembon committed 2019-12-12 17:22:06 -04:00
1 parent 657acc3c6e
commit 05ac5dee2c
15 files changed
+307 -25

No files matched your search

@@ -0,0 +1,22 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.entity.mob.BlazeEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(targets = "net.minecraft.entity.mob.BlazeEntity$ShootFireballGoal")
public class BlazeEntityShootFireballGoal_extremeMixin
{
@Redirect(method = "tick", expect = 2, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
}
@@ -0,0 +1,23 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.entity.mob.BlazeEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(BlazeEntity.class)
public class BlazeEntity_extremeMixin
{
// unused actually
@Redirect(method = "mobTick", expect = 1, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
}
@@ -0,0 +1,23 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.entity.projectile.ExplosiveProjectileEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(ExplosiveProjectileEntity.class)
public class ExplosiveProjectileEntity_extremeMixin
{
@Redirect(method = "<init>(Lnet/minecraft/entity/EntityType;Lnet/minecraft/entity/LivingEntity;DDDLnet/minecraft/world/World;)V",
expect = 3, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
}
@@ -0,0 +1,32 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.entity.FireworkEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(FireworkEntity.class)
public class FireworkEntity_extremeMixin
{
@Redirect(method = "<init>(Lnet/minecraft/world/World;DDDLnet/minecraft/item/ItemStack;)V", expect = 2, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
@Redirect(method = "setVelocity", expect = 3, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian2(Random random)
{
return RandomTools.nextGauBian(random);
}
}
@@ -0,0 +1,22 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.entity.projectile.FishingBobberEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(FishingBobberEntity.class)
public class FishingBobberEntity_extremeMixin
{
@Redirect(method = "<init>(Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/world/World;II)V", expect =3, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
}
@@ -1,40 +1,23 @@
package carpet.mixins;
import carpet.CarpetServer;
import carpet.CarpetSettings;
import carpet.utils.RandomTools;
import net.minecraft.block.dispenser.ItemDispenserBehavior;
import net.minecraft.entity.ItemEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.Position;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(ItemDispenserBehavior.class)
public class ItemDispenserBehaviour_extremeBehavioursMixin
{
@Redirect(method = "spawnItem", at = @At(
@Redirect(method = "spawnItem", expect = 3, at = @At(
value = "INVOKE",
target = "Lnet/minecraft/entity/ItemEntity;setVelocity(DDD)V"
target = "Ljava/util/Random;nextGaussian()D"
))
private static void setExtremeVelocity(ItemEntity itemEntity, double x, double y, double z,
World world, ItemStack stack, int offset, Direction side, Position pos)
private static double nextGauBian(Random random)
{
if (CarpetSettings.extremeBehaviours)
{
double g = CarpetServer.rand.nextDouble() * 0.1D + 0.2D;
itemEntity.setVelocity(
(16*world.random.nextDouble()-8) * 0.007499999832361937D * (double) offset + (double) side.getOffsetX() * g,
(16*world.random.nextDouble()-8) * 0.007499999832361937D * (double) offset + 0.20000000298023224D,
(16*world.random.nextDouble()-8) * 0.007499999832361937D * (double) offset + (double) side.getOffsetZ() * g
);
}
else
{
itemEntity.setVelocity(x, y, z);
}
return RandomTools.nextGauBian(random);
}
}
@@ -0,0 +1,22 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.util.ItemScatterer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(ItemScatterer.class)
public class ItemScatterer_extremeMixin
{
@Redirect(method = "spawn(Lnet/minecraft/world/World;DDDLnet/minecraft/item/ItemStack;)V", expect = 3, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private static double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
}
@@ -0,0 +1,22 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.entity.projectile.LlamaSpitEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(LlamaSpitEntity.class)
public class LlamaSpitEntity_extremeMixin
{
@Redirect(method = "setVelocity", expect = 3, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
}
@@ -0,0 +1,22 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.entity.mob.MobEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(MobEntity.class)
public class MobEntity_extremeMixin
{
@Redirect(method = "initialize", expect = 1, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
}
@@ -0,0 +1,33 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.entity.projectile.ProjectileEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(ProjectileEntity.class)
public class ProjectileEntity_extremeMixin
{
@Redirect(method = "setVelocity", expect = 3, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
// calculates damage
@Redirect(method = "method_7435", expect = 1, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian2(Random random)
{
return RandomTools.nextGauBian(random);
}
}
@@ -0,0 +1,22 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.entity.ai.goal.SkeletonHorseTrapTriggerGoal;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(SkeletonHorseTrapTriggerGoal.class)
public class SkeletonHorseTrapTriggerGoal_extremeMixin
{
@Redirect(method = "tick", expect = 2, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
}
@@ -0,0 +1,22 @@
package carpet.mixins;
import carpet.utils.RandomTools;
import net.minecraft.entity.thrown.ThrownEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import java.util.Random;
@Mixin(ThrownEntity.class)
public class ThrownEntity_extremeMixin
{
@Redirect(method = "setVelocity", expect = 3, at = @At(
value = "INVOKE",
target = "Ljava/util/Random;nextGaussian()D"
))
private double nextGauBian(Random random)
{
return RandomTools.nextGauBian(random);
}
}