diff --git a/packages/frontend/assets/room/objects/duct-tape/duct-tape.blend b/packages/frontend/assets/room/objects/duct-tape/duct-tape.blend
new file mode 100644
index 0000000000..5f4b8961b3
Binary files /dev/null and b/packages/frontend/assets/room/objects/duct-tape/duct-tape.blend differ
diff --git a/packages/frontend/assets/room/objects/duct-tape/duct-tape.glb b/packages/frontend/assets/room/objects/duct-tape/duct-tape.glb
new file mode 100644
index 0000000000..ff0648d52b
Binary files /dev/null and b/packages/frontend/assets/room/objects/duct-tape/duct-tape.glb differ
diff --git a/packages/frontend/src/pages/room.vue b/packages/frontend/src/pages/room.vue
index a585033e76..6e3ec8455e 100644
--- a/packages/frontend/src/pages/room.vue
+++ b/packages/frontend/src/pages/room.vue
@@ -8,6 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only
+ Toggle Light
Edit mode: {{ engine.isEditMode.value ? 'on' : 'off' }}
Put (E)
@@ -267,6 +268,13 @@ onMounted(() => {
rotation: [0, Math.PI / 2, 0],
sticky: 'j',
options: {},
+ }, {
+ id: 'a37cb419-d028-47a7-b317-7553bc2553e0',
+ type: 'ductTape',
+ position: [131, 85, 126],
+ rotation: [0, 0, 0],
+ sticky: 'j4',
+ options: {},
}, {
id: 'j3',
type: 'powerStrip',
diff --git a/packages/frontend/src/utility/room/object-defs.ts b/packages/frontend/src/utility/room/object-defs.ts
index 5fe534b4e6..e481233994 100644
--- a/packages/frontend/src/utility/room/object-defs.ts
+++ b/packages/frontend/src/utility/room/object-defs.ts
@@ -16,6 +16,7 @@ import { chair } from './objects/chair.js';
import { colorBox } from './objects/colorBox.js';
import { cupNoodle } from './objects/cupNoodle.js';
import { desk } from './objects/desk.js';
+import { ductTape } from './objects/ductTape.js';
import { energyDrink } from './objects/energyDrink.js';
import { facialTissue } from './objects/facialTissue.js';
import { keyboard } from './objects/keyboard.js';
@@ -53,6 +54,7 @@ export const OBJECT_DEFS = [
colorBox,
cupNoodle,
desk,
+ ductTape,
energyDrink,
facialTissue,
keyboard,
diff --git a/packages/frontend/src/utility/room/objects/ductTape.ts b/packages/frontend/src/utility/room/objects/ductTape.ts
new file mode 100644
index 0000000000..1876b82465
--- /dev/null
+++ b/packages/frontend/src/utility/room/objects/ductTape.ts
@@ -0,0 +1,17 @@
+/*
+ * SPDX-FileCopyrightText: syuilo and misskey-project
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+import { defineObject } from '../engine.js';
+
+export const ductTape = defineObject({
+ id: 'ductTape',
+ defaultOptions: {},
+ placement: 'top',
+ createInstance: () => {
+ return {
+ interactions: {},
+ };
+ },
+});