Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -263,13 +263,13 @@
<dependency>
<groupId>net.momirealms</groupId>
<artifactId>craft-engine-core</artifactId>
<version>0.0.58</version>
<version>0.0.66</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.momirealms</groupId>
<artifactId>craft-engine-bukkit</artifactId>
<version>0.0.58</version>
<version>0.0.66</version>
<scope>provided</scope>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import fi.septicuss.tooltips.managers.integration.impl.betonquest.conversation.TooltipsConversationIO;
import fi.septicuss.tooltips.managers.integration.impl.betonquest.conversation.TooltipsConversationIOFactory;
import fi.septicuss.tooltips.managers.integration.impl.craftengine.CraftEngineFurnitureProvider;
import fi.septicuss.tooltips.managers.integration.impl.craftengine.CraftEngineListener;
import fi.septicuss.tooltips.managers.integration.impl.crucible.CrucibleFurnitureProvider;
import fi.septicuss.tooltips.managers.integration.impl.itemsadder.ItemsAdderFurnitureProvider;
import fi.septicuss.tooltips.managers.integration.impl.nexo.NexoFurnitureProvider;
Expand Down Expand Up @@ -72,6 +73,7 @@ public void registerDefaultIntegrations() {

if (isPresent("CraftEngine")) {
this.addFurnitureProvider(new CraftEngineFurnitureProvider());
this.plugin.getServer().getPluginManager().registerEvents(new CraftEngineListener(plugin), plugin);
}

if (isPresent("WorldGuard")) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,21 @@

import fi.septicuss.tooltips.managers.integration.providers.FurnitureProvider;
import fi.septicuss.tooltips.managers.integration.wrappers.FurnitureWrapper;
import net.momirealms.craftengine.bukkit.api.CraftEngineBlocks;
import net.momirealms.craftengine.bukkit.api.CraftEngineFurniture;
import net.momirealms.craftengine.bukkit.entity.furniture.BukkitFurniture;
import net.momirealms.craftengine.core.block.ImmutableBlockState;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.Nullable;


public class CraftEngineFurnitureProvider implements FurnitureProvider {

@Nullable
@Override
public FurnitureWrapper getFurniture(Entity entity) {
BukkitFurniture furniture = CraftEngineFurniture.getLoadedFurnitureByBaseEntity(entity);
BukkitFurniture furniture = CraftEngineFurniture.getLoadedFurnitureByMetaEntity(entity);
if (furniture == null) return null;
String id = furniture.id().asString();
return new FurnitureWrapper(this.identifier(), id, id);
Expand All @@ -23,7 +25,25 @@ public FurnitureWrapper getFurniture(Entity entity) {
@Nullable
@Override
public FurnitureWrapper getFurniture(Block block) {
return null;
ImmutableBlockState blockState = CraftEngineBlocks.getCustomBlockState(block);
if (blockState == null) {
return null;
}
String id = blockState.owner().value().id().asString();
return new FurnitureWrapper(this.identifier(), id, id);
}

@Override
public FurnitureWrapper getTargetFurniture(Player player) {
BukkitFurniture furniture = CraftEngineFurniture.rayTrace(player);
if (furniture == null) return null;
String id = furniture.id().asString();
return new FurnitureWrapper(this.identifier(), id, id);
}

@Override
public boolean hasCustomRaytrace() {
return true;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package fi.septicuss.tooltips.managers.integration.impl.craftengine;

import fi.septicuss.tooltips.Tooltips;
import fi.septicuss.tooltips.managers.preset.actions.DefaultTooltipAction;
import net.momirealms.craftengine.bukkit.api.event.FurnitureInteractEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;

import java.util.Optional;

public class CraftEngineListener implements Listener {

private final Tooltips plugin;

public CraftEngineListener(Tooltips plugin) {
this.plugin = plugin;
}

@EventHandler
public void onFurnitureInteract(FurnitureInteractEvent event) {
Optional.ofNullable(plugin.getTooltipManager()).ifPresent(tooltipManager -> {
tooltipManager.runActions(DefaultTooltipAction.RIGHT_CLICK, event.getPlayer());
});
}
}
2 changes: 1 addition & 1 deletion src/main/resources/default/config/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ copy-resource-pack:
path: ''

# Which furniture plugin is used if there are multiple
# Options: Automatic, Oraxen, ItemsAdder, MythicCrucible
# Options: Automatic, Oraxen, ItemsAdder, MythicCrucible, CraftEngine
furniture-plugin: automatic

# This determines, which negative space mode is used. Set to 'false' for versions before
Expand Down