extremeBehaviours

This commit is contained in:
gnembon committed 2019-12-11 00:30:46 -04:00
1 parent 55065a38a6
commit f9b51ef141
4 files changed
+50 -1

No files matched your search

@@ -0,0 +1,40 @@
package carpet.mixins;
import carpet.CarpetServer;
import carpet.CarpetSettings;
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;
@Mixin(ItemDispenserBehavior.class)
public class ItemDispenserBehaviour_extremeBehavioursMixin
{
@Redirect(method = "spawnItem", at = @At(
value = "INVOKE",
target = "Lnet/minecraft/entity/ItemEntity;setVelocity(DDD)V"
))
private static void setExtremeVelocity(ItemEntity itemEntity, double x, double y, double z,
World world, ItemStack stack, int offset, Direction side, Position pos)
{
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);
}
}
}