cabaletta / cabaletta/baritone

NullPointerException caused by code issues in LookBehavior.java

Open
#2,164 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
9.2k
Forks
2.1k
Avg merge
4d 3h
Merged PRs (30d)
3

Description

## Some information
Operating system: Windows 10
Java version: jdk 1.8u261
Minecraft version: 1.16.1 - Baritone Development environment
Baritone version: Baritone Development Environment
Forge mods (if used): null

## Exception, error or logs
```
[21:41:56] [main/INFO]: [CHAT] [ @KJCrack: ] => implemented
[21:41:56] [main/INFO]: [CHAT] [ @KJCrack: ] => ------------------
[21:41:56] [main/INFO]: [CHAT] [ @KJCrack: ] => Thread: Thread-5
[21:41:56] [main/INFO]: [CHAT] [ @KJCrack: ] => --------------------------
[21:41:57] [Thread-5/INFO]: [STDERR]: java.lang.NullPointerException
[21:41:57] [Thread-5/INFO]: [STDERR]: at baritone.behavior.LookBehavior.updateTarget(LookBehavior.java:58)
[21:41:57] [Thread-5/INFO]: [STDERR]: at baritone.pathing.movement.Movement.lambda$update$1(Movement.java:137)
[21:41:57] [Thread-5/INFO]: [STDERR]: at java.util.Optional.ifPresent(Optional.java:159)
[21:41:57] [Thread-5/INFO]: [STDERR]: at baritone.pathing.movement.Movement.update(Movement.java:136)
[21:41:57] [Thread-5/INFO]: [STDERR]: at kitejencien.cracker.crack_commands.TestCommand.exec(TestCommand.java:53)
[21:41:57] [Thread-5/INFO]: [STDERR]: at kitejencien.cracker.CrackSample.lambda$parseRequest$0(CrackSample.java:95)
[21:41:57] [Thread-5/INFO]: [STDERR]: at java.util.HashMap.forEach(HashMap.java:1289)
[21:41:57] [Thread-5/INFO]: [STDERR]: at kitejencien.cracker.CrackSample.parseRequest(CrackSample.java:93)
[21:41:57] [Thread-5/INFO]: [STDERR]: at kitejencien.cracker.CrackSampleListener.run(CrackSampleListener.java:34)
```

## How to reproduce
Run the following code somewhere in baritone ( I did this to manually use the movement system inside baritone from another thread ):
```java
Movement startup = new MovementParkour(baritone, ctx.playerFeet(), 2,Direction.fromAngle(180),true);
currentState = startup.updateState(currentState);
currentState.setTarget(new MovementState.MovementTarget(new Rotation(0,0),false));
while (!currentState.getStatus().equals(MovementStatus.SUCCESS) &&
!currentState.getStatus().equals(MovementStatus.FAILED)) {
startup.updateState(currentState);
startup.update();
}
```
And the code that causes the exception is:
```java
@Override
public void updateTarget(Rotation target, boolean force) {
this.target = target;
if (!force) {
double rand = Math.random() - 0.5;
if (Math.abs(rand) < 0.1) {
rand *= 4;
}
(HERE)-> this.target = new Rotation(this.target.getYaw() + (float) (rand * Baritone.settings().randomLooking113.value), this.target.getPitch());
}
this.force = force || !Baritone.settings().freeLook.value;
}
```
The issue might be cause by initializing a variable using itself, and can be fixed through changing line 58 to:
```java
this.target = new Rotation(target.getYaw() + (float) (rand * Baritone.settings().randomLooking113.value), target.getPitch());
```

## Modified settings
To get the modified settings run `#modified` in game

## Final checklist
- [x] I know how to properly use check boxes
- [x] I have included the version of Minecraft I'm running, baritone's version and forge mods (if used).
- [x] I have included logs, exceptions and / or steps to reproduce the issue.
- [x] I have not used any OwO's or UwU's in this issue.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.