r/nontoxic
Creating a plastic-free / dye-free / organic cotton watch band!
I’ve been down a “how do I reduce microplastics and harmful chemicals from my everyday life” rabbit hole lately. One thing I realized I wear all day (and that has plastic) is the band on my Apple Watch. Decided to make my own with organic cotton - zero plastics or dyes used and very comfortable! Going to be making them available to the public soon! Curious if anyone else would consider wearing this?
I don’t love stainless steel and leather for all-day use.
Why is my player slightly bouncing when I hold jump?
I have two scripts for the playre:
PLAYER STATE SCRIPT:
using UnityEditor.UI;
using UnityEngine;
// ===== BASE STATE CLASS =====
public abstract class PlayerState
{
protected PlayerController controller;
public PlayerState(PlayerController controller)
{
this.controller = controller;
}
public virtual void Enter() { }
public virtual void Update() { } // Most of the time Update() handles state switching
public virtual void FixedUpdate() { }
public virtual void Exit() { }
// ===== UTILITY CLASSES (Classes that are used by multiple states) =====
protected void ChangeToIdleCondition()
{
// Transition to idle if no move input
if (controller.GetMoveInput().magnitude < 0.1)
{
controller.ChangeState(new IdleState(controller));
}
}
protected void ChangeToMoveCondition()
{
// Transition to move if move input
if (controller.GetMoveInput().magnitude > 0f && controller.IsGrounded())
{
controller.ChangeState(new MoveState(controller));
}
}
protected void ChangeToJumpCondition()
{
// Transition to Jump if jump input and player is grounded
if (controller.GetJumpInput() && controller.IsGrounded())
{
controller.ChangeState(new JumpState(controller));
}
}
protected void MovePlayer()
{
float currentSpeed = controller.GetSprintInput() ? controller.GetPlayerSprintSpeed() : controller.GetPlayerSpeed();
Transform cameraTransform = controller.GetCameraTransform();
Vector3 cameraForward = cameraTransform.forward;
Vector3 cameraRight = cameraTransform.right;
cameraForward.y = 0f;
cameraRight.y = 0f;
cameraForward.Normalize();
cameraRight.Normalize();
Vector2 moveInput = controller.GetMoveInput();
Vector3 moveDirection = (cameraForward * moveInput.y + cameraRight * moveInput.x).normalized;
controller.GetRigidbody().linearVelocity = new Vector3(moveDirection.x * currentSpeed, controller.GetRigidbody().linearVelocity.y, moveDirection.z * currentSpeed);
}
protected void ApplyDownwardsForce()
{
if (!controller.IsGrounded())
{
controller.GetRigidbody().AddForce(Vector3.down * controller.GetPlayerDownwardsForce());
}
}
}
// ===== IDLE STATE CLASS =====
public class IdleState : PlayerState
{
public IdleState(PlayerController controller) : base(controller) { }
public override void Enter()
{
// Stop movement when entering idle
controller.GetRigidbody().linearVelocity = Vector3.zero;
}
public override void Update()
{
ChangeToMoveCondition();
ChangeToJumpCondition();
}
public override void FixedUpdate()
{
ApplyDownwardsForce();
}
}
// ===== MOVING STATE CLASS (Handles sprinting as well) =====
public class MoveState : PlayerState
{
public MoveState(PlayerController controller) : base(controller) { }
public override void Update()
{
ChangeToIdleCondition();
ChangeToJumpCondition();
}
public override void FixedUpdate()
{
MovePlayer();
ApplyDownwardsForce();
}
}
// ===== JUMP STATE CLASS =====
public class JumpState : PlayerState
{
public JumpState(PlayerController controller) : base(controller) { }
public override void Enter()
{
// Apply jump force
controller.GetRigidbody().linearVelocity = new Vector3(controller.GetRigidbody().linearVelocity.x, controller.GetPlayerJumpHeight(), controller.GetRigidbody().linearVelocity.z);
}
public override void Update()
{
if (controller.IsGrounded())
{
ChangeToIdleCondition();
ChangeToMoveCondition();
}
}
public override void FixedUpdate()
{
MovePlayer();
}
}
PLAYER CONTROLLER SCRIPT
using UnityEngine;
using UnityEngine.InputSystem;
public class PlayerController : MonoBehaviour
{
// ===== VARIABLES =====
[Header("Movement Settings")]
[SerializeField] float playerSpeed = 5f;
[SerializeField] float playerSprintSpeed = 10f;
[SerializeField] private float playerDownwardsForce = 50f;
[SerializeField] private float playerJumpHeight = 10f;
[Header("Ground Check Settings")]
public Transform groundCheck;
public LayerMask groundLayer;
[SerializeField] private float groundCheckRadius = 0.2f;
[Header("Camera")]
public Transform orientation;
PlayerInput playerInput;
InputAction moveAction;
Rigidbody rb;
private bool isGrounded;
Vector2 moveInput;
// STATE MACHINE
private PlayerState currentState;
void Start()
{
// Initialize variables...
rb = GetComponent<Rigidbody>();
playerInput = GetComponent<PlayerInput>();
moveAction = playerInput.actions.FindAction("Movement");
// Initialize to IDLE state
ChangeState(new IdleState(this));
}
void Update()
{
// Read input
if (moveAction != null)
{
moveInput = moveAction.ReadValue<Vector2>();
}
// Ground Check
isGrounded = Physics.Raycast(groundCheck.position, Vector3.down, groundCheckRadius);
currentState.Update();
}
private void FixedUpdate()
{
currentState.FixedUpdate();
}
// ===== STATE MACHINE CORE =====
public void ChangeState(PlayerState newState)
{
currentState?.Exit();
currentState = newState;
currentState.Enter();
}
// ===== PUBLIC GETTERS (states read from here) =====
public Vector2 GetMoveInput() => moveInput;
public bool IsGrounded() => isGrounded;
public Rigidbody GetRigidbody() => rb;
public Transform GetCameraTransform() => orientation;
public Transform GetPlayerTransform() => transform;
public float GetPlayerSpeed() => playerSpeed;
public float GetPlayerSprintSpeed() => playerSprintSpeed;
public float GetPlayerDownwardsForce() => playerDownwardsForce;
public float GetPlayerJumpHeight() => playerJumpHeight;
public bool GetSprintInput() => playerInput.actions.FindAction("Sprinting").ReadValue<float>() == 1f;
public bool GetJumpInput() => playerInput.actions.FindAction("Jumping").ReadValue<float>() == 1f;
}
Nontoxic toilet paper that won’t financially ruin me?
We currently buy the generic that is $15 for 18 rolls with 400 2-ply sheets per roll. Anything that is somewhat comparable that is truly a better/nontoxic switch? There is an overwhelming amount of toilet paper options lol
Also. When looking online.. most that state they are nontoxic are 3-ply. I didn’t even know that existed lol. Is this because the individual ply is thinner than the average buttwipe?
Humble Deodorant - Fragrance?
I bought a third stick of Humble deodorant and it now lists fragrance and says it’s from essential oils - how legit is this? Is fragrance from essential oils just as bad as fragrance?
I tend to never buy things with that word. I’m really disappointed in the brand. There has to be a reason they now must include that word in their marketing/design.
Non-toxic laundry sanitizer?
I’m sooo new to all of this, as I just had a baby and I’m looking to start making some swaps. Our current laundry product lineup is already pretty good (as I have sensitive skin), but we do use Lysol laundry sanitizer for my husband’s scrubs (he works in an emergency department). I’ve always wondered if it’s actually necessary, as I feel that soap, vinegar, and warm/ hot water gets our laundry about as clean as it’s going to get. Is sanitizer necessary? And if so, is there a safer alternative? Thanks in advance!
White noise sound machine
Currently I put my iPad between my husband and I and I KNOWWWW it’s so bad lol. Help me find something better!!
Swapping socks
What are you all doing to find natural fiber socks? I’ve started going down the rabbit hole like everybody else and it’s a bit overwhelming!
Make up swaps
My next task to work on is all my make up. I don’t wear much. I prefer creams!
Sunscreen, preferably tinted as i basically use it as a foundation base.
Mascara, brown and washable
Blush
Highlight (preferably a powder in this)
Contour
Does anyone use the henna guys ? My hair is currently brown with gray. I can't use any chemicals so I want to try henna. I'm torn between like a wine burgundy or fire engine red. Not sure which one would come out better.
reddit.comMatcha
I want to start making my own matcha. It save money and better quality. The stuff at DUNKIN Donut is horrible. Have gotten worst over the years.
Where can I buy the matcha tools? I want one that is non toxic. I.e no plastic, or lead. Price is not a problem as long as it not over $100.
Tapeworm detox
Looking for good non toxic tapeworm detoxes
Pet safe cleaning products
Hey!! So I have been wanting to make my own natural cleaning products but I want recipes that are pet safe. I am in love with citrus smells but the essential oils are toxic to animals, what are recipes I can do that are safe but have a citrus smell or smell fruity in a way? I was looking at linen sprays, window cleaners, etc stuff like that.
I also wondered if I made my own clothes soap for the washer, can I put citrus essential oils in that because it will essentially wash away? Or will that be dangerous? Thanks!!
Also let me know your favorite cleaning recipes, window sprays, detergent, dishwasher soaps, sprays, air fresheners etc!!
Makeup/Skin Prep
Help! I’m struggling with my makeup. It looks great when I put it on then separates through the day. Maybe it’s skin prep? What products do you use?