Skip to content

Commit

Permalink
Update base-mineflayer and attempt to fix merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
Pix3lPirat3 authored Feb 14, 2025
1 parent 33627f7 commit b3a01a7
Showing 1 changed file with 42 additions and 31 deletions.
73 changes: 42 additions & 31 deletions lib/plugins/entities.js
Original file line number Diff line number Diff line change
Expand Up @@ -380,12 +380,9 @@ function inject (bot) {
// attach entity
const entity = fetchEntity(packet.entityId)
if (packet.vehicleId === -1) {
const vehicle = entity.vehicle
delete entity.vehicle
bot.emit('entityDetach', entity, vehicle)
bot.emit('entityDetach', entity, entity.vehicle)
} else {
entity.vehicle = fetchEntity(packet.vehicleId)
bot.emit('entityAttach', entity, entity.vehicle)
bot.emit('entityAttach', entity, fetchEntity(packet.vehicleId))
}
})

Expand Down Expand Up @@ -806,41 +803,55 @@ function inject (bot) {
const passenger = fetchEntity(packet.entityId)
const vehicle = packet.vehicleId === -1 ? null : fetchEntity(packet.vehicleId)

const originalVehicle = passenger.vehicle
if (originalVehicle !== null) {
const index = originalVehicle.passengers.indexOf(passenger)
originalVehicle.passengers = originalVehicle.passengers.splice(index, 1)
if (!passenger || passenger.vehicle?.id === vehicle?.id) return

// Handle detachment from previous vehicle
if (passenger.vehicle) {
const prevVehicle = passenger.vehicle
const index = prevVehicle.passengers.indexOf(passenger)
if (index !== -1) prevVehicle.passengers.splice(index, 1)

passenger.vehicle = null
}
passenger.vehicle = vehicle
vehicle.passengers.push(passenger)

if (packet.entityId === bot.entity.id) {
const vehicle = bot.vehicle
if (packet.vehicleId === -1) {
bot.vehicle = null
bot.emit('dismount', vehicle)
} else {
bot.vehicle = bot.entities[packet.vehicleId]
bot.emit('mount')
}
// Handle attachment to new vehicle
if (vehicle) {
if (!vehicle.passengers.includes(passenger)) vehicle.passengers.push(passenger)

passenger.vehicle = vehicle
}
})

bot._client.on('set_passengers', ({ entityId, passengers }) => {
const passengerEntities = passengers.map((passengerId) => fetchEntity(passengerId))
const vehicle = entityId === -1 ? null : bot.entities[entityId]

for (const passengerEntity of passengerEntities) {
const originalVehicle = passengerEntity.vehicle
if (originalVehicle !== null) {
const index = originalVehicle.passengers.indexOf(passengerEntity)
originalVehicle.passengers = originalVehicle.passengers.splice(index, 1)
const passengerEntities = passengers.map(fetchEntity)

Object.values(bot.entities).forEach((passengerEntity) => {
if (passengerEntity && passengerEntity.vehicle === vehicle) {
if (!passengerEntities.includes(passengerEntity.id)) {
const index = vehicle.passengers.indexOf(passengerEntity)
if (index !== -1) vehicle.passengers.splice(index, 1)
passengerEntity.vehicle = null
}
}
passengerEntity.vehicle = vehicle
if (vehicle !== null) {
vehicle.passengers.push(passengerEntity)
})

passengerEntities.forEach((passengerEntity) => {
if (passengerEntity.vehicle !== vehicle) {
const originalVehicle = passengerEntity.vehicle
if (originalVehicle) {
const index = originalVehicle.passengers.indexOf(passengerEntity)
if (index !== -1) originalVehicle.passengers.splice(index, 1)
}

passengerEntity.vehicle = vehicle
if (vehicle && !vehicle.passengers.includes(passengerEntity)) {
vehicle.passengers.push(passengerEntity)
}
}
}
})

if (vehicle) vehicle.passengers = passengerEntities

if (passengers.includes(bot.entity.id)) {
const originalVehicle = bot.vehicle
Expand Down

0 comments on commit b3a01a7

Please sign in to comment.