diff --git a/lib/classes/ObjectStoreLite.ts b/lib/classes/ObjectStoreLite.ts index 1aa2a87..1c66fa6 100644 --- a/lib/classes/ObjectStoreLite.ts +++ b/lib/classes/ObjectStoreLite.ts @@ -89,6 +89,7 @@ export class ObjectStoreLite implements IObjectStore private physicsSubscription: Subscription; private selectedPrimsWithoutUpdate = new Map(); private selectedChecker?: Timer; + private blacklist: Map = new Map(); rtree?: RBush3D; @@ -455,6 +456,19 @@ export class ObjectStoreLite implements IObjectStore return; } this.requestedObjects.add(localID); + const black = this.blacklist.get(localID); + if (black !== undefined) + { + const thirtyMinutesAgo = new Date(new Date().getTime() - 30 * 60000); + if (black >= thirtyMinutesAgo) + { + return; + } + else + { + this.blacklist.delete(localID); + } + } const rmo = new RequestMultipleObjectsMessage(); rmo.AgentData = { AgentID: this.agent.agentID, @@ -507,8 +521,8 @@ export class ObjectStoreLite implements IObjectStore { return; } + this.blacklist.set(localID, new Date()); console.error('Error retrieving missing object after 5 attempts: ' + localID); - console.error(error); } } finally diff --git a/lib/classes/commands/RegionCommands.ts b/lib/classes/commands/RegionCommands.ts index 8e7c58c..1036c21 100644 --- a/lib/classes/commands/RegionCommands.ts +++ b/lib/classes/commands/RegionCommands.ts @@ -1614,7 +1614,7 @@ export class RegionCommands extends CommandsBase if (resolve) { const resolver = new ObjectResolver(this.currentRegion); - await resolver.resolveObjects(objs, onlyUnresolved, skipInventory, outputLog); + await resolver.resolveObjects(objs, !onlyUnresolved, skipInventory, outputLog); } return objs; } diff --git a/lib/classes/public/Parcel.ts b/lib/classes/public/Parcel.ts index 641ac37..08a5fa6 100644 --- a/lib/classes/public/Parcel.ts +++ b/lib/classes/public/Parcel.ts @@ -100,7 +100,7 @@ export class Parcel { const document = builder.create('LandData'); document.ele('Area', this.Area); - document.ele('AuctionID', this.AuctionID); + document.ele('AuctionID', this.AuctionID ?? 0); document.ele('AuthBuyerID', this.AuthBuyerID.toString()); document.ele('Category', this.Category); document.ele('ClaimDate', this.ClaimDate); diff --git a/package.json b/package.json index 9b68af4..1e00441 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@caspertech/node-metaverse", - "version": "0.6.8", + "version": "0.6.9", "description": "A node.js interface for Second Life.", "main": "dist/lib/index.js", "types": "dist/lib/index.d.ts",