Add configuration to limit itemLocation to people with access.

This commit is contained in:
hotellidev
2026-06-08 00:21:11 +03:00
parent 0daa2aea66
commit 8e834261d0
2 changed files with 7 additions and 6 deletions
+2 -1
View File
@@ -15,8 +15,9 @@
"camera.publish.disabled": false, "camera.publish.disabled": false,
"hc.disabled": false, "hc.disabled": false,
"badge.descriptions.enabled": true, "badge.descriptions.enabled": true,
"furni.descriptions.enabled": false, "furni.descriptions.enabled": true,
"furni.location.enabled": true, "furni.location.enabled": true,
"furni.location.require.access": true,
"motto.max.length": 38, "motto.max.length": 38,
"bot.name.max.length": 15, "bot.name.max.length": 15,
"pet.package.name.max.length": 15, "pet.package.name.max.length": 15,
@@ -78,6 +78,9 @@ export const InfoStandWidgetFurniView: FC<InfoStandWidgetFurniViewProps> = props
const rareValue = useMemo(() => (avatarInfo ? getRareValue(avatarInfo.spriteId) : null), [ avatarInfo, getRareValue ]); const rareValue = useMemo(() => (avatarInfo ? getRareValue(avatarInfo.spriteId) : null), [ avatarInfo, getRareValue ]);
const descriptionsEnabled = GetConfigurationValue<boolean>('furni.descriptions.enabled', true); const descriptionsEnabled = GetConfigurationValue<boolean>('furni.descriptions.enabled', true);
const itemLocationEnabled = GetConfigurationValue<boolean>('furni.location.enabled', true); const itemLocationEnabled = GetConfigurationValue<boolean>('furni.location.enabled', true);
const itemLocationRequireAccess = GetConfigurationValue<boolean>('furni.location.require.access', true);
const isValidController = (avatarInfo.roomControllerLevel >= RoomControllerLevel.GUEST);
const hasAccess = (isValidController || avatarInfo.isOwner || avatarInfo.isRoomOwner || avatarInfo.isAnyRoomController)
const [ pickupMode, setPickupMode ] = useState(0); const [ pickupMode, setPickupMode ] = useState(0);
const [ canMove, setCanMove ] = useState(false); const [ canMove, setCanMove ] = useState(false);
const [ canRotate, setCanRotate ] = useState(false); const [ canRotate, setCanRotate ] = useState(false);
@@ -209,13 +212,10 @@ export const InfoStandWidgetFurniView: FC<InfoStandWidgetFurniViewProps> = props
setFurniLocationZ(location.z); setFurniLocationZ(location.z);
} }
const isValidController = (avatarInfo.roomControllerLevel >= RoomControllerLevel.GUEST); if(hasAccess)
if(isValidController || avatarInfo.isOwner || avatarInfo.isRoomOwner || avatarInfo.isAnyRoomController)
{ {
canMove = true; canMove = true;
canRotate = !avatarInfo.isWallItem; canRotate = !avatarInfo.isWallItem;
if(avatarInfo.roomControllerLevel >= RoomControllerLevel.MODERATOR) godMode = true; if(avatarInfo.roomControllerLevel >= RoomControllerLevel.MODERATOR) godMode = true;
} }
@@ -607,7 +607,7 @@ export const InfoStandWidgetFurniView: FC<InfoStandWidgetFurniViewProps> = props
<Text underline variant="white">{ groupName }</Text> <Text underline variant="white">{ groupName }</Text>
</Flex> </Flex>
</> } </> }
{ ((itemLocation.x > -1) && itemLocationEnabled) && { ((itemLocation.x > -1) && itemLocationEnabled && (!itemLocationRequireAccess || hasAccess)) &&
<> <>
<hr className="m-0 bg-[#0003] border-0 opacity-[.5] h-px" /> <hr className="m-0 bg-[#0003] border-0 opacity-[.5] h-px" />
<div className="flex items-center gap-1 min-w-0"> <div className="flex items-center gap-1 min-w-0">