aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionInteract.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionInteract.java')
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionInteract.java81
1 files changed, 0 insertions, 81 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionInteract.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionInteract.java
deleted file mode 100755
index 3033754c..00000000
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionInteract.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod
- * Copyright (C) 2021 cyoung06
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
-package kr.syeyoung.dungeonsguide.dungeon.actions;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import kr.syeyoung.dungeonsguide.dungeon.DungeonActionManager;
-import kr.syeyoung.dungeonsguide.dungeon.actions.tree.ActionRoute;
-import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint;
-import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom;
-import kr.syeyoung.dungeonsguide.events.PlayerInteractEntityEvent;
-import kr.syeyoung.dungeonsguide.utils.RenderUtils;
-import lombok.Data;
-import net.minecraft.entity.Entity;
-import net.minecraft.util.BlockPos;
-import net.minecraft.util.Vec3;
-
-import java.awt.*;
-import java.util.HashSet;
-import java.util.Set;
-
-@Data
-public class ActionInteract extends AbstractAction {
- private Set<Action> preRequisite = new HashSet<Action>();
- private OffsetPoint target;
- private Predicate<Entity> predicate = Predicates.alwaysFalse();
- private int radius;
-
- public ActionInteract(OffsetPoint target) {
- this.target = target;
- }
-
- @Override
- public Set<Action> getPreRequisites(DungeonRoom dungeonRoom) {
- return preRequisite;
- }
-
- @Override
- public boolean isComplete(DungeonRoom dungeonRoom) {
- return interacted;
- }
-
- private boolean interacted = false;
- @Override
- public void onLivingInteract(DungeonRoom dungeonRoom, PlayerInteractEntityEvent event, ActionRoute.ActionRouteProperties actionRouteProperties) {
- if (interacted) return;
-
- Vec3 spawnLoc = DungeonActionManager.getSpawnLocation().get(event.getEntity().getEntityId());
- if (spawnLoc == null) return;
- if (target.getBlockPos(dungeonRoom).distanceSq(spawnLoc.xCoord, spawnLoc.yCoord, spawnLoc.zCoord) > radius * radius) return;
- if (!predicate.apply(event.getEntity())) return;
- interacted = true;
- }
- @Override
- public void onRenderWorld(DungeonRoom dungeonRoom, float partialTicks, ActionRoute.ActionRouteProperties actionRouteProperties, boolean flag) {
- BlockPos pos = target.getBlockPos(dungeonRoom);
- RenderUtils.highlightBlock(pos, new Color(0, 255,255,50),partialTicks, true);
- RenderUtils.drawTextAtWorld("Interact", pos.getX() + 0.5f, pos.getY() + 0.3f, pos.getZ() + 0.5f, 0xFFFFFF00, 0.02f, false, false, partialTicks);
- }
-
- @Override
- public String toString() {
- return "InteractEntity\n- target: "+target.toString()+"\n- radius: "+radius+"\n- predicate: "+(predicate == null ? "null" : predicate.getClass().getSimpleName());
- }
-}