Einige Bugs was Platzieren und Interagieren mit Interactables belangt, behoben

This commit is contained in:
2026-08-20 15:50:50 +02:00
parent f3b10586ad
commit 919ef98137
3 changed files with 20 additions and 20 deletions

View File

@@ -451,8 +451,14 @@ public class SceneObjectState extends BaseAppState {
// Property-Änderungen (Position, Rotation, Textur, Solid)
SharedInput.ObjectPropertyChange prop;
boolean propChanged = false;
while ((prop = input.objectPropertyQueue.poll()) != null) {
handlePropertyChange(prop);
propChanged = true;
}
if (propChanged) {
refreshBedArrow();
refreshBenchArrow();
}
// Löschen
@@ -830,10 +836,10 @@ public class SceneObjectState extends BaseAppState {
float ox = meta.interactableOffsetX();
float oy = meta.interactableOffsetY();
float oz = meta.interactableOffsetZ();
float wx2 = wx + ox * cos - oz * sin;
float wx2 = wx + ox * cos + oz * sin;
float wy2 = wy + placementOffY + oy;
float wz2 = wz + ox * sin + oz * cos;
float roty2 = rotY + meta.interactableRotY();
float wz2 = wz - ox * sin + oz * cos;
float roty2 = meta.interactableRotY() - rotY;
if (meta.interactableType() == de.blight.common.model.InteractableType.BED) {
Bed bed = new Bed();
bed.setLiegeX(wx2); bed.setLiegeY(wy2); bed.setLiegeZ(wz2);
@@ -1204,7 +1210,8 @@ public class SceneObjectState extends BaseAppState {
private void updateTerrainLevelIndicator() {
if (terrainRingNode == null) return;
if (selectedIndices.isEmpty() || input.activeLayer != SharedInput.LAYER_OBJECTS_EDIT) {
if (selectedIndices.isEmpty() || input.activeLayer != SharedInput.LAYER_OBJECTS_EDIT
|| input.objectEditTool == SharedInput.EDIT_TOOL_ROTATE) {
terrainRingNode.setCullHint(Spatial.CullHint.Always);
terrainStickNode.setCullHint(Spatial.CullHint.Always);
return;
@@ -1898,6 +1905,8 @@ public class SceneObjectState extends BaseAppState {
clearSubSelection();
activeGizmo = -1;
updateGizmoVisibility();
hideBedArrow();
hideBenchArrow();
input.selectedObjectInfo = null;
input.objectSelectionChanged = true;
@@ -1940,10 +1949,10 @@ public class SceneObjectState extends BaseAppState {
float oy = meta.interactableOffsetY();
float oz = meta.interactableOffsetZ();
float wx = so.getWorldX() + ox * cos - oz * sin;
float wx = so.getWorldX() + ox * cos + oz * sin;
float wy = so.getGroundY() + oy;
float wz = so.getWorldZ() + ox * sin + oz * cos;
float iRotY = rotY + meta.interactableRotY();
float wz = so.getWorldZ() - ox * sin + oz * cos;
float iRotY = meta.interactableRotY() - rotY;
try {
if (isBed) {
@@ -2526,10 +2535,10 @@ public class SceneObjectState extends BaseAppState {
float ox = meta.interactableOffsetX();
float oy = meta.interactableOffsetY();
float oz = meta.interactableOffsetZ();
float wx = so.getWorldX() + ox * cos - oz * sin;
float wx = so.getWorldX() + ox * cos + oz * sin;
float wy = so.getGroundY() + oy;
float wz = so.getWorldZ() + ox * sin + oz * cos;
return new float[]{wx, wy, wz, rotY + meta.interactableRotY()};
float wz = so.getWorldZ() - ox * sin + oz * cos;
return new float[]{wx, wy, wz, meta.interactableRotY() - rotY};
}
/**

View File

@@ -1,9 +0,0 @@
{
"id": "19f0ce17-838d-4938-8739-fc17de491657",
"benchType": "Simple",
"sitzX": 237.17992,
"sitzY": 6.99606,
"sitzZ": -891.853,
"sitzRotY": -0.8307737,
"sitzSet": true
}

View File

@@ -2,10 +2,10 @@
Models/northcoast/wrack1.j3o 286.06750 -3.50554 -947.28595 -1.76657 1.00000 -0.00000 -0.50184 false true true 30.00000 80.00000 120.00000
Models/trees/palm/palm_20260816_213338.j3o 277.36694 2.74803 -956.39905 0.43292 1.00000 0.00000 0.00000 false true true 30.00000 80.00000 120.00000
Models/trees/palm/palm_20260816_213338.j3o 280.27863 2.66144 -928.60248 -1.51992 1.00000 -0.00000 0.00000 false true true 30.00000 80.00000 120.00000
Models/imported/bank1.j3o 237.17992 6.49606 -891.85303 -2.40157 1.00000 -0.00000 0.00000 true true true 30.00000 80.00000 120.00000 BENCH 19f0ce17-838d-4938-8739-fc17de491657
Models/trees/palm/palm_20260816_213341.j3o 249.12691 6.49606 -895.80035 -0.96942 1.00000 -0.00000 0.00000 false true true 30.00000 80.00000 120.00000
Models/trees/palm/palm_20260816_213341.j3o 243.51527 6.49606 -894.84039 -2.48591 1.00000 -0.00000 0.00000 false true true 30.00000 80.00000 120.00000
Models/trees/palm/palm_20260816_213338.j3o 233.49467 4.51015 -892.32526 2.66339 1.00000 0.00000 0.00000 false true true 30.00000 80.00000 120.00000
Models/trees/palm/palm_20260816_213341.j3o 247.05431 6.44288 -888.47949 1.23606 1.00000 0.00000 0.00000 false true true 30.00000 80.00000 120.00000
Models/trees/palm/palm_20260816_213341.j3o 239.43253 6.49157 -886.23218 -2.49448 1.00000 -0.00000 0.00000 false true true 30.00000 80.00000 120.00000
Models/trees/palm/palm_20260816_213341.j3o 270.73062 3.06689 -913.67090 -1.45828 1.00000 -0.00000 0.00000 false true true 30.00000 80.00000 120.00000
Models/imported/bank1.j3o 236.63928 6.49530 -888.17450 -3.22597 1.00000 0.00000 0.00000 true true true 30.00000 80.00000 120.00000 BENCH 9ac9943d-0e12-4d5c-8323-0e2b92eebdec