Skip to content

Commit

Permalink
Initial 1.20 support #145
Browse files Browse the repository at this point in the history
  • Loading branch information
Arnuh committed Jun 8, 2023
1 parent 507c3cd commit 4c54a40
Show file tree
Hide file tree
Showing 47 changed files with 229 additions and 514 deletions.
1 change: 1 addition & 0 deletions main/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ dependencies {
implementation(project(path = ":nms:v1_19_2", configuration = "reobf"))
implementation(project(path = ":nms:v1_19_3", configuration = "reobf"))
implementation(project(path = ":nms:v1_19_4", configuration = "reobf"))
implementation(project(path = ":nms:v1_20", configuration = "reobf"))
}

tasks {
Expand Down
4 changes: 2 additions & 2 deletions nms/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
id("echopet-conventions")
id("io.papermc.paperweight.userdev") version "1.5.3"
id("io.papermc.paperweight.userdev") version "1.5.5"
}

subprojects {
Expand All @@ -9,5 +9,5 @@ subprojects {

dependencies {
api(project(":api"))
paperweight.paperDevBundle("1.19.4-R0.1-SNAPSHOT")
paperweight.paperDevBundle("1.20-R0.1-SNAPSHOT")
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
package com.dsh105.echopet.nms;

import com.dsh105.echopet.compat.api.util.ICraftBukkitUtil;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftEntity;
import org.bukkit.entity.Entity;

public class CraftBukkitUtil implements ICraftBukkitUtil{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.ItemStack;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
import org.jetbrains.annotations.Nullable;

/*
Expand Down
6 changes: 3 additions & 3 deletions nms/src/main/java/com/dsh105/echopet/nms/SpawnUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@
import org.bukkit.Location;
import org.bukkit.NamespacedKey;
import org.bukkit.Particle;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_19_R3.inventory.CraftItemStack;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_20_R1.inventory.CraftItemStack;
import org.bukkit.entity.Player;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.inventory.meta.SkullMeta;
Expand Down
7 changes: 7 additions & 0 deletions nms/src/main/java/com/dsh105/echopet/nms/VersionBreaking.java
Original file line number Diff line number Diff line change
Expand Up @@ -133,4 +133,11 @@ public static DamageSource getDamageSource(Entity entity, DamageSourceType damag
case FLY_INTO_WALL -> entity.damageSources().flyIntoWall();
};
}

public static boolean onGround(Entity entity){
// 1.19.4 and below
// return entity.isOnGround();
// 1.20
return entity.onGround;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftLivingEntity;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftLivingEntity;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;

@Deprecated
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.phys.Vec3;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;

public interface INMSEntityPetHandle extends IEntityPetHandle{

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,12 @@
import com.dsh105.echopet.compat.api.entity.pet.IPet;
import com.dsh105.echopet.compat.api.event.PetMoveEvent;
import com.dsh105.echopet.compat.api.plugin.EchoPet;
import com.dsh105.echopet.nms.VersionBreaking;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.navigation.PathNavigation;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;

public class PetGoalFollowOwner extends APetGoalFollowOwner{

Expand Down Expand Up @@ -101,7 +102,7 @@ public void tick(){
mob.getLookControl().setLookAt(owner, 10.0F, (float) mob.getMaxHeadXRot());
if(--this.timeToRecalcPath <= 0){
this.timeToRecalcPath = 10;
if(mob.distanceToSqr(owner) > this.teleportDistanceSqr && ((CraftPlayer) this.pet.getPetOwner()).getHandle().isOnGround() || this.pet.getPetOwner()
if(mob.distanceToSqr(owner) > this.teleportDistanceSqr && VersionBreaking.onGround(((CraftPlayer) this.pet.getPetOwner()).getHandle()) || this.pet.getPetOwner()
.isInsideVehicle()){
this.pet.getPet().teleportToOwner();
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@


import java.util.function.Predicate;
import com.dsh105.echopet.nms.VersionBreaking;
import com.dsh105.echopet.nms.entity.type.EntityCamelPet;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
Expand Down Expand Up @@ -139,7 +140,7 @@ public CamelPanic(float speed){
@Override
protected void start(ServerLevel serverLevel, PathfinderMob pathfinderMob, long l){
if(pathfinderMob instanceof EntityCamelPet camel){
camel.standUpPanic();
camel.standUpInstantly();
}

super.start(serverLevel, pathfinderMob, l);
Expand All @@ -157,7 +158,7 @@ public RandomSitting(int lastPoseSecondsDelta){

@Override
protected boolean checkExtraStartConditions(ServerLevel world, EntityCamelPet entity){
return !entity.isInWater() && entity.getPoseTime() >= (long) this.minimalPoseTicks && !entity.isLeashed() && entity.isOnGround() && !entity.hasControllingPassenger();
return !entity.isInWater() && entity.getPoseTime() >= (long) this.minimalPoseTicks && !entity.isLeashed() && VersionBreaking.onGround(entity) && !entity.hasControllingPassenger();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
package com.dsh105.echopet.nms.entity.ai.brain;


import com.dsh105.echopet.nms.VersionBreaking;
import com.dsh105.echopet.nms.entity.ai.brain.behavior.BrainFollowOwner;
import com.dsh105.echopet.nms.entity.ai.brain.behavior.RandomStrollAroundOwner;
import com.dsh105.echopet.nms.entity.ai.brain.behavior.ShootTongueOwner;
Expand Down Expand Up @@ -124,7 +125,7 @@ private static void initIdleActivity(Brain<EntityFrogPet> frogBrain){
Pair.of(new RandomStrollAroundOwner(SPEED_MULTIPLIER_ON_LAND), 1),
Pair.of(SetWalkTargetFromLookTarget.create(SPEED_MULTIPLIER_ON_LAND, 3), 1),
Pair.of(new Croak(), 3),
Pair.of(BehaviorBuilder.triggerIf(Entity::isOnGround), 2)
Pair.of(BehaviorBuilder.triggerIf(VersionBreaking::onGround), 2)
)
))
), ImmutableSet.of(Pair.of(MemoryModuleType.LONG_JUMP_MID_JUMP, MemoryStatus.VALUE_ABSENT),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import net.minecraft.world.entity.ai.memory.MemoryStatus;
import net.minecraft.world.entity.ai.memory.WalkTarget;
import net.minecraft.world.entity.player.Player;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;

public class BrainFollowOwner extends Behavior<PathfinderMob>{

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import net.minecraft.world.entity.ai.memory.MemoryModuleType;
import net.minecraft.world.entity.ai.memory.MemoryStatus;
import net.minecraft.world.entity.ai.memory.WalkTarget;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;

public class RandomStrollAroundOwner extends Behavior<PathfinderMob>{

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import net.minecraft.world.entity.ai.behavior.Behavior;
import net.minecraft.world.entity.ai.memory.MemoryModuleType;
import net.minecraft.world.entity.ai.memory.MemoryStatus;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;

public class SetOwnerLookTarget extends Behavior<LivingEntity>{

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import net.minecraft.world.entity.ai.memory.WalkTarget;
import net.minecraft.world.entity.animal.frog.Frog;
import net.minecraft.world.level.pathfinder.Path;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;

public class ShootTongueOwner extends Behavior<Frog>{

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.phys.Vec3;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;
import org.bukkit.entity.Pose;
import org.bukkit.util.Vector;
Expand Down Expand Up @@ -215,7 +215,7 @@ public float getSpeed(){
float speed = rideSpeed;
if(NMSEntityUtil.getJumpingField() != null && !entity.getPassengers().isEmpty()){
if(canFly){
if(!entity.isOnGround()){
if(!VersionBreaking.onGround(entity)){
speed = rideFlySpeed;
}
}
Expand Down Expand Up @@ -275,7 +275,7 @@ public Vec3 travel(Vec3 vec3d){
}catch(IllegalArgumentException | IllegalStateException | IllegalAccessException e){
EchoPet.LOG.log(java.util.logging.Level.WARNING, "Failed to initiate Pet Flying Motion for " + player.getName() + "'s Pet.", e);
}
}else if(entity.isOnGround()){
}else if(VersionBreaking.onGround(entity)){
try{
if(NMSEntityUtil.getJumpingField().getBoolean(passenger)){
PetRideJumpEvent rideEvent = new PetRideJumpEvent(this.getPet(), this.jumpHeight);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
import net.minecraft.world.item.enchantment.EnchantmentHelper;
import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.phys.Vec3;
import org.bukkit.craftbukkit.v1_19_R3.event.CraftEventFactory;
import org.bukkit.craftbukkit.v1_20_R1.event.CraftEventFactory;

public class LivingEntityPetHandle extends EntityPetHandle implements INMSLivingEntityPetHandle{

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
import net.minecraft.world.level.gameevent.GameEventListener;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
import org.bukkit.entity.LivingEntity;

@EntityPetType(petType = PetType.AXOLOTL)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;

@EntityPetType(petType = PetType.BAT)
public class EntityBatPet extends EntityPet implements IEntityBatPet{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;

@EntityPetType(petType = PetType.BEE)
public class EntityBeePet extends Bee implements IEntityAgeablePet, EntityPetGiveMeAccess{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
import org.bukkit.entity.LivingEntity;

@EntityPetType(petType = PetType.CAMEL)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;

@EntityPetType(petType = PetType.CAT)
public class EntityCatPet extends Cat implements IEntityTameablePet, EntityPetGiveMeAccess{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;

@EntityPetType(petType = PetType.DONKEY)
public class EntityDonkeyPet extends Donkey implements IEntityAnimalPet, EntityPetGiveMeAccess{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
import org.bukkit.entity.LivingEntity;

@EntityPetType(petType = PetType.FROG)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;

Expand Down
Loading

0 comments on commit 4c54a40

Please sign in to comment.