Skip to content

Commit

Permalink
camel pose time
Browse files Browse the repository at this point in the history
  • Loading branch information
Brokkonaut committed Dec 29, 2022
1 parent 7ed294c commit 8b230c8
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 1 deletion.
2 changes: 1 addition & 1 deletion nmsutils-core/pom.xml
Expand Up @@ -11,7 +11,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.16.3-R0.1-SNAPSHOT</version>
<version>1.19.3-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down
27 changes: 27 additions & 0 deletions nmsutils-core/src/main/java/de/cubeside/nmsutils/EntityUtils.java
@@ -1,9 +1,11 @@
package de.cubeside.nmsutils;

import java.util.function.Function;
import java.util.logging.Level;
import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Camel;
import org.bukkit.entity.Creature;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Mob;
Expand Down Expand Up @@ -174,4 +176,29 @@ default void loadChunkEntities(Chunk c) {
* the new celebrating status
*/
void setCelebrating(Raider entity, boolean celebrating);

/**
* Set how many ticks ago the last pose change of the camel was
*
* @param entity
* the camel
* @param tick
* number of ticks since the last pose change
*/
default void setCamelLastPoseChange(Camel entity, long tick) {
getNMSUtils().getPlugin().getLogger().log(Level.SEVERE, "Call to unimplemented method", new RuntimeException());
}

/**
* Get how many ticks ago the last pose change of a camel happened
*
* @param entity
* the camel
* @return
* number of ticks since the last pose change
*/
default long getCamelLastPoseChange(Camel entity) {
getNMSUtils().getPlugin().getLogger().log(Level.SEVERE, "Call to unimplemented method", new RuntimeException());
return 0L;
}
}
Expand Up @@ -16,6 +16,7 @@
import net.minecraft.world.entity.PathfinderMob;
import net.minecraft.world.entity.ai.goal.FloatGoal;
import net.minecraft.world.entity.animal.Wolf;
import net.minecraft.world.entity.animal.camel.Camel;
import net.minecraft.world.level.ChunkPos;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Bukkit;
Expand All @@ -24,6 +25,7 @@
import org.bukkit.World;
import org.bukkit.craftbukkit.v1_19_R2.CraftWorld;
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftBat;
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftCamel;
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftCreature;
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftMob;
Expand Down Expand Up @@ -341,4 +343,16 @@ public void setCelebrating(org.bukkit.entity.Raider entity, boolean celebrating)
net.minecraft.world.entity.raid.Raider nmsEntity = ((CraftRaider) entity).getHandle();
nmsEntity.setCelebrating(celebrating);
}

@Override
public void setCamelLastPoseChange(org.bukkit.entity.Camel entity, long tick) {
Camel nmsEntity = ((CraftCamel) entity).getHandle();
nmsEntity.resetLastPoseChangeTick(nmsEntity.getLevel().getGameTime() - tick);
}

@Override
public long getCamelLastPoseChange(org.bukkit.entity.Camel entity) {
Camel nmsEntity = ((CraftCamel) entity).getHandle();
return nmsEntity.getPoseTime();
}
}

0 comments on commit 8b230c8

Please sign in to comment.