Skip to content

Commit

Permalink
feat(JOML): migrate Behaviors (#65)
Browse files Browse the repository at this point in the history
* feat(JOML): migrate remaining occurrences of `math.geom`
* chore: optimize imports

Co-authored-by: Tobias Nett <skaldarnar@googlemail.com>
  • Loading branch information
jdrueckert and skaldarnar authored Jan 29, 2021
1 parent d0aa3d0 commit 65cec6c
Show file tree
Hide file tree
Showing 22 changed files with 61 additions and 60 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

import org.joml.Vector3f;
import org.terasology.behaviors.components.AttackInProximityComponent;
import org.terasology.behaviors.components.AttackOnHitComponent;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.logic.behavior.BehaviorAction;
import org.terasology.logic.behavior.core.Actor;
import org.terasology.logic.behavior.core.BaseAction;
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.logic.location.LocationComponent;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.nui.properties.Range;


Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

import org.terasology.behaviors.system.NightTrackerSystem;
import org.terasology.logic.behavior.BehaviorAction;
import org.terasology.logic.behavior.core.Actor;
import org.terasology.logic.behavior.core.BaseAction;
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.behaviors.system.NightTrackerSystem;
import org.terasology.registry.CoreRegistry;
import org.terasology.registry.In;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

import org.joml.Vector3f;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.entitySystem.entity.EntityRef;
import org.terasology.logic.behavior.BehaviorAction;
import org.terasology.logic.behavior.core.Actor;
import org.terasology.logic.behavior.core.BaseAction;
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.logic.location.LocationComponent;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.nui.properties.Range;

@BehaviorAction(name = "continue_following_check")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

import org.terasology.behaviors.components.FollowComponent;
import org.terasology.entitySystem.entity.EntityManager;
import org.terasology.entitySystem.entity.EntityRef;
import org.terasology.entitySystem.prefab.Prefab;
import org.terasology.logic.behavior.BehaviorAction;
import org.terasology.logic.behavior.core.Actor;
import org.terasology.logic.behavior.core.BaseAction;
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.logic.health.event.DoDamageEvent;
import org.terasology.logic.health.EngineDamageTypes;
import org.terasology.logic.health.HealthComponent;
import org.terasology.logic.health.event.DoDamageEvent;
import org.terasology.logic.location.LocationComponent;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.registry.In;
import org.terasology.nui.properties.Range;
import org.terasology.registry.In;

@BehaviorAction(name = "damage_followed_entity")
public class DamageFollowedEntityAction extends BaseAction {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

import org.terasology.behaviors.components.FindNearbyPlayersComponent;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.logic.behavior.BehaviorAction;
import org.terasology.logic.behavior.core.Actor;
import org.terasology.logic.behavior.core.BaseAction;
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.behaviors.components.FollowComponent;


@BehaviorAction(name = "followCharacter")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

import com.google.common.collect.Lists;
import org.joml.Vector3f;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.entitySystem.entity.EntityManager;
import org.terasology.entitySystem.entity.EntityRef;
import org.terasology.logic.behavior.BehaviorAction;
Expand All @@ -12,10 +13,9 @@
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.logic.characters.AliveCharacterComponent;
import org.terasology.logic.location.LocationComponent;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.network.ClientComponent;
import org.terasology.registry.In;
import org.terasology.nui.properties.Range;
import org.terasology.registry.In;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

Expand All @@ -11,9 +11,9 @@
import org.terasology.logic.behavior.core.Actor;
import org.terasology.logic.behavior.core.BaseAction;
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.math.geom.Rect2i;
import org.terasology.minion.move.MinionMoveComponent;
import org.terasology.navgraph.WalkableBlock;
import org.terasology.world.block.BlockArea;

import java.util.List;
import java.util.Random;
Expand All @@ -35,7 +35,7 @@ public class NearbyBlockRestricted extends BaseAction {
/**
* The world region that this character is allowed to stray in. Defines an x&z area in world space.
*/
private Rect2i allowedRegion;
private BlockArea allowedRegion = new BlockArea(BlockArea.INVALID);

/**
* The probability out of 100 that this character will have a new target selected when this node is run.
Expand All @@ -50,7 +50,7 @@ public void construct(Actor actor) {
}

StrayRestrictionComponent strayRestriction = actor.getComponent(StrayRestrictionComponent.class);
allowedRegion = strayRestriction.allowedRegion;
allowedRegion.set(strayRestriction.allowedRegion);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

Expand All @@ -12,9 +12,9 @@
import org.terasology.logic.behavior.core.BaseAction;
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.module.sandbox.API;
import org.terasology.registry.In;
import org.terasology.nui.properties.OneOf;
import org.terasology.nui.properties.Range;
import org.terasology.registry.In;

/**
* Plays music in background. Return SUCCESS when music ends.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

Expand All @@ -14,9 +14,9 @@
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.logic.location.LocationComponent;
import org.terasology.module.sandbox.API;
import org.terasology.registry.In;
import org.terasology.nui.properties.OneOf;
import org.terasology.nui.properties.Range;
import org.terasology.registry.In;

/**
* Plays a sound. Return SUCCESS when sound ends.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

Expand All @@ -8,9 +8,9 @@
import org.terasology.logic.behavior.core.BaseAction;
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.module.sandbox.API;
import org.terasology.nui.properties.OneOf;
import org.terasology.rendering.assets.animation.MeshAnimation;
import org.terasology.rendering.logic.SkeletalMeshComponent;
import org.terasology.nui.properties.OneOf;

import java.util.List;
import java.util.Random;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.actions;

import org.joml.Vector3f;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.entitySystem.entity.EntityRef;
import org.terasology.logic.behavior.BehaviorAction;
import org.terasology.logic.behavior.core.Actor;
import org.terasology.logic.behavior.core.BaseAction;
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.logic.location.LocationComponent;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.minion.move.MinionMoveComponent;

@BehaviorAction(name = "set_target_to_followed_entity")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.components;

import org.terasology.entitySystem.Component;
import org.terasology.math.geom.Rect2i;
import org.terasology.world.block.BlockArea;
import org.terasology.world.block.BlockAreac;

/**
* Attached to characters that use the {@link org.terasology.behaviors.actions.NearbyBlockRestricted} behavior, which
Expand All @@ -14,10 +15,10 @@ public class StrayRestrictionComponent implements Component {
/**
* The region that this character is allowed to stray in. Defines an x&z area in world space.
*/
public Rect2i allowedRegion;
public BlockArea allowedRegion = new BlockArea(BlockArea.INVALID);

public StrayRestrictionComponent(Rect2i allowedRegion) {
this.allowedRegion = allowedRegion;
public StrayRestrictionComponent(BlockAreac allowedRegion) {
this.allowedRegion.set(allowedRegion);
}

public StrayRestrictionComponent() { }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.behaviors.system;

import org.terasology.behaviors.components.AttackOnHitComponent;
import org.terasology.behaviors.components.FleeOnHitComponent;
import org.terasology.behaviors.components.FleeingComponent;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.engine.Time;
import org.terasology.entitySystem.entity.EntityRef;
import org.terasology.entitySystem.event.ReceiveEvent;
Expand All @@ -10,11 +14,7 @@
import org.terasology.entitySystem.systems.RegisterSystem;
import org.terasology.logic.characters.CharacterMovementComponent;
import org.terasology.logic.health.event.OnDamagedEvent;
import org.terasology.behaviors.components.FollowComponent;
import org.terasology.registry.In;
import org.terasology.behaviors.components.AttackOnHitComponent;
import org.terasology.behaviors.components.FleeingComponent;
import org.terasology.behaviors.components.FleeOnHitComponent;


/*
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/terasology/grid/BlockRenderer.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.grid;

import org.terasology.joml.geom.Rectanglei;
import org.joml.Vector3i;
import org.terasology.joml.geom.Rectanglei;
import org.terasology.nui.Canvas;

/**
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/terasology/grid/EntityRenderer.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.grid;

import org.terasology.joml.geom.Rectanglei;
import org.terasology.entitySystem.entity.EntityRef;
import org.terasology.joml.geom.Rectanglei;
import org.terasology.nui.Canvas;

/**
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/terasology/grid/GridRenderer.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.grid;

import org.terasology.joml.geom.Rectanglei;
import org.joml.Vector2f;
import org.joml.Vector2i;
import org.joml.Vector3f;
Expand All @@ -15,6 +14,7 @@
import org.terasology.grid.renderers.WalkableBlockRenderer;
import org.terasology.grid.renderers.WorkRenderer;
import org.terasology.input.Keyboard;
import org.terasology.joml.geom.Rectanglei;
import org.terasology.logic.characters.CharacterComponent;
import org.terasology.logic.location.LocationComponent;
import org.terasology.logic.players.LocalPlayer;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.grid.renderers;

import org.terasology.joml.geom.Rectanglei;
import org.joml.Vector2fc;
import org.joml.Vector3i;
import org.terasology.entitySystem.systems.BaseComponentSystem;
import org.terasology.entitySystem.systems.RegisterSystem;
import org.terasology.grid.BlockRenderer;
import org.terasology.joml.geom.Rectanglei;
import org.terasology.nui.Canvas;
import org.terasology.nui.Color;
import org.terasology.nui.ScaleMode;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.grid.renderers;

import org.terasology.joml.geom.Rectanglei;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.terasology.entitySystem.entity.EntityRef;
import org.terasology.entitySystem.systems.BaseComponentSystem;
import org.terasology.entitySystem.systems.RegisterSystem;
import org.terasology.grid.EntityRenderer;
import org.terasology.joml.geom.Rectanglei;
import org.terasology.logic.characters.CharacterComponent;
import org.terasology.minion.move.MinionMoveComponent;
import org.terasology.registry.Share;
import org.terasology.nui.Canvas;
import org.terasology.nui.Color;
import org.terasology.registry.Share;

/**
*
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/org/terasology/grid/renderers/WorkRenderer.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.grid.renderers;

import org.terasology.joml.geom.Rectanglei;
import org.joml.Vector3i;
import org.terasology.entitySystem.entity.EntityRef;
import org.terasology.entitySystem.systems.BaseComponentSystem;
import org.terasology.entitySystem.systems.RegisterSystem;
import org.terasology.grid.BlockRenderer;
import org.joml.Vector3i;
import org.terasology.joml.geom.Rectanglei;
import org.terasology.minion.work.WorkTargetComponent;
import org.terasology.registry.In;
import org.terasology.registry.Share;
import org.terasology.nui.Canvas;
import org.terasology.nui.Color;
import org.terasology.registry.In;
import org.terasology.registry.Share;
import org.terasology.world.BlockEntityRegistry;

/**
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/terasology/minion/work/FindWorkNode.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2020 The Terasology Foundation
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.minion.work;

Expand All @@ -8,9 +8,9 @@
import org.terasology.logic.behavior.core.Actor;
import org.terasology.logic.behavior.core.BaseAction;
import org.terasology.logic.behavior.core.BehaviorState;
import org.terasology.nui.properties.OneOf;
import org.terasology.registry.CoreRegistry;
import org.terasology.registry.In;
import org.terasology.nui.properties.OneOf;

/**
* <b>Properties</b>: <b>filter</b><br/>
Expand Down
Loading

0 comments on commit 65cec6c

Please sign in to comment.