apply mc source feature patches

This commit is contained in:
granny
2026-06-08 12:07:56 -07:00
parent b4d87ec1dc
commit 6e69746c49
26 changed files with 1548 additions and 1443 deletions

View File

@@ -3217,6 +3217,19 @@ public class PurpurWorldConfig {
striderAlwaysDropExp = getBoolean("mobs.strider.always-drop-exp", striderAlwaysDropExp);
}
public boolean sulfurCubeRidable = false;
public boolean sulfurCubeRidableInWater = true;
public boolean sulfurCubeControllable = true;
public boolean sulfurCubeTakeDamageFromWater = false;
public boolean sulfurCubeAlwaysDropExp = false;
private void sulfurCubeSettings() {
sulfurCubeRidable = getBoolean("mobs.sulfur_cube.ridable", sulfurCubeRidable);
sulfurCubeRidableInWater = getBoolean("mobs.sulfur_cube.ridable-in-water", sulfurCubeRidableInWater);
sulfurCubeControllable = getBoolean("mobs.sulfur_cube.controllable", sulfurCubeControllable);
sulfurCubeTakeDamageFromWater = getBoolean("mobs.sulfur_cube.takes-damage-from-water", sulfurCubeTakeDamageFromWater);
sulfurCubeAlwaysDropExp = getBoolean("mobs.sulfur_cube.always-drop-exp", sulfurCubeAlwaysDropExp);
}
public boolean tadpoleRidable = false;
public boolean tadpoleRidableInWater = true;
public boolean tadpoleControllable = true;

View File

@@ -6,25 +6,25 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.player.Input;
import net.minecraft.world.entity.player.Player;
public class FlyingMoveControllerWASD extends MoveControllerWASD {
public class FlyingMoveControllerWASD<T extends Mob> extends MoveControllerWASD<T> {
protected final float groundSpeedModifier;
protected final float flyingSpeedModifier;
protected int tooHighCooldown = 0;
protected boolean setNoGravityFlag;
public FlyingMoveControllerWASD(Mob entity) {
public FlyingMoveControllerWASD(T entity) {
this(entity, 1.0F);
}
public FlyingMoveControllerWASD(Mob entity, float groundSpeedModifier) {
public FlyingMoveControllerWASD(T entity, float groundSpeedModifier) {
this(entity, groundSpeedModifier, 1.0F, true);
}
public FlyingMoveControllerWASD(Mob entity, float groundSpeedModifier, float flyingSpeedModifier) {
public FlyingMoveControllerWASD(T entity, float groundSpeedModifier, float flyingSpeedModifier) {
this(entity, groundSpeedModifier, flyingSpeedModifier, true);
}
public FlyingMoveControllerWASD(Mob entity, float groundSpeedModifier, float flyingSpeedModifier, boolean setNoGravityFlag) {
public FlyingMoveControllerWASD(T entity, float groundSpeedModifier, float flyingSpeedModifier, boolean setNoGravityFlag) {
super(entity);
this.groundSpeedModifier = groundSpeedModifier;
this.flyingSpeedModifier = flyingSpeedModifier;

View File

@@ -7,12 +7,12 @@ import net.minecraft.world.entity.player.Input;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.phys.Vec3;
public class FlyingWithSpacebarMoveControllerWASD extends FlyingMoveControllerWASD {
public FlyingWithSpacebarMoveControllerWASD(Mob entity) {
public class FlyingWithSpacebarMoveControllerWASD<T extends Mob> extends FlyingMoveControllerWASD<T> {
public FlyingWithSpacebarMoveControllerWASD(T entity) {
super(entity);
}
public FlyingWithSpacebarMoveControllerWASD(Mob entity, float groundSpeedModifier) {
public FlyingWithSpacebarMoveControllerWASD(T entity, float groundSpeedModifier) {
super(entity, groundSpeedModifier);
}

View File

@@ -8,15 +8,15 @@ import net.minecraft.world.entity.player.Input;
import net.minecraft.world.entity.player.Player;
import org.purpurmc.purpur.event.entity.RidableSpacebarEvent;
public class MoveControllerWASD extends MoveControl {
public class MoveControllerWASD<T extends Mob> extends MoveControl<T> {
protected final Mob entity;
private final double speedModifier;
public MoveControllerWASD(Mob entity) {
public MoveControllerWASD(T entity) {
this(entity, 1.0D);
}
public MoveControllerWASD(Mob entity, double speedModifier) {
public MoveControllerWASD(T entity, double speedModifier) {
super(entity);
this.entity = entity;
this.speedModifier = speedModifier;

View File

@@ -6,14 +6,14 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.player.Input;
import net.minecraft.world.entity.player.Player;
public class WaterMoveControllerWASD extends MoveControllerWASD {
public class WaterMoveControllerWASD<T extends Mob> extends MoveControllerWASD<T> {
private final double speedModifier;
public WaterMoveControllerWASD(Mob entity) {
public WaterMoveControllerWASD(T entity) {
this(entity, 1.0D);
}
public WaterMoveControllerWASD(Mob entity, double speedModifier) {
public WaterMoveControllerWASD(T entity, double speedModifier) {
super(entity);
this.speedModifier = speedModifier;
}