mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
feat: added orebfuscator integration
This commit is contained in:
parent
80608b1e08
commit
282f9e0e43
19
pom.xml
19
pom.xml
@ -90,6 +90,11 @@
|
|||||||
<id>walshy-public</id>
|
<id>walshy-public</id>
|
||||||
<url>https://repo.walshy.dev/public</url>
|
<url>https://repo.walshy.dev/public</url>
|
||||||
</repository>
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<!-- Orebfuscator -->
|
||||||
|
<id>imprex-repo</id>
|
||||||
|
<url>https://imprex.ingrim4.me/repository/maven-public/</url>
|
||||||
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@ -473,6 +478,20 @@
|
|||||||
<version>2.3.8</version>
|
<version>2.3.8</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
|
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<!-- We don't need any of the dependencies -->
|
||||||
|
<groupId>*</groupId>
|
||||||
|
<artifactId>*</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.imprex</groupId>
|
||||||
|
<artifactId>orebfuscator-api</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<!-- We don't need any of the dependencies -->
|
<!-- We don't need any of the dependencies -->
|
||||||
|
@ -54,6 +54,7 @@ public class IntegrationsManager {
|
|||||||
private boolean isMcMMOInstalled = false;
|
private boolean isMcMMOInstalled = false;
|
||||||
private boolean isClearLagInstalled = false;
|
private boolean isClearLagInstalled = false;
|
||||||
private boolean isItemsAdderInstalled = false;
|
private boolean isItemsAdderInstalled = false;
|
||||||
|
private boolean isOrebfuscatorInstalled = false;
|
||||||
|
|
||||||
// Addon support
|
// Addon support
|
||||||
private boolean isChestTerminalInstalled = false;
|
private boolean isChestTerminalInstalled = false;
|
||||||
@ -140,6 +141,12 @@ public class IntegrationsManager {
|
|||||||
SlimefunPlugin.logger().log(Level.WARNING, x, () -> "Failed to load Protection plugin integrations for Slimefun v" + SlimefunPlugin.getVersion());
|
SlimefunPlugin.logger().log(Level.WARNING, x, () -> "Failed to load Protection plugin integrations for Slimefun v" + SlimefunPlugin.getVersion());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Orebfuscator Integration
|
||||||
|
load("Orebfuscator", integration -> {
|
||||||
|
new OrebfuscatorIntegration(plugin).register();
|
||||||
|
isOrebfuscatorInstalled = true;
|
||||||
|
});
|
||||||
|
|
||||||
isChestTerminalInstalled = isAddonInstalled("ChestTerminal");
|
isChestTerminalInstalled = isAddonInstalled("ChestTerminal");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -281,4 +288,7 @@ public class IntegrationsManager {
|
|||||||
return isChestTerminalInstalled;
|
return isChestTerminalInstalled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isOrebfuscatorInstalled() {
|
||||||
|
return isOrebfuscatorInstalled;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,54 @@
|
|||||||
|
package io.github.thebusybiscuit.slimefun4.integrations;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||||
|
|
||||||
|
import io.github.thebusybiscuit.slimefun4.api.events.BlockPlacerPlaceEvent;
|
||||||
|
import io.github.thebusybiscuit.slimefun4.api.events.ExplosiveToolBreakBlocksEvent;
|
||||||
|
import io.github.thebusybiscuit.slimefun4.api.events.ReactorExplodeEvent;
|
||||||
|
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||||
|
import net.imprex.orebfuscator.api.OrebfuscatorService;
|
||||||
|
|
||||||
|
public class OrebfuscatorIntegration implements Listener {
|
||||||
|
|
||||||
|
private final SlimefunPlugin plugin;
|
||||||
|
private OrebfuscatorService service;
|
||||||
|
|
||||||
|
public OrebfuscatorIntegration(@Nonnull SlimefunPlugin plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void register() {
|
||||||
|
RegisteredServiceProvider<OrebfuscatorService> provider = Bukkit.getServer().getServicesManager().getRegistration(OrebfuscatorService.class);
|
||||||
|
this.service = provider.getProvider();
|
||||||
|
|
||||||
|
Bukkit.getServer().getPluginManager().registerEvents(this, this.plugin);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onBlockPlacerPlace(BlockPlacerPlaceEvent event) {
|
||||||
|
this.service.deobfuscate(Arrays.asList(event.getBlock(), event.getBlockPlacer()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onExplosiveToolBreakBlocks(ExplosiveToolBreakBlocksEvent event) {
|
||||||
|
Set<Block> blocks = new HashSet<>();
|
||||||
|
blocks.addAll(event.getAdditionalBlocks());
|
||||||
|
blocks.add(event.getPrimaryBlock());
|
||||||
|
this.service.deobfuscate(blocks);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onReactorExplode(ReactorExplodeEvent event) {
|
||||||
|
this.service.deobfuscate(Arrays.asList(event.getLocation().getBlock()));
|
||||||
|
}
|
||||||
|
}
|
@ -18,6 +18,7 @@ softdepend:
|
|||||||
- ClearLag
|
- ClearLag
|
||||||
- mcMMO
|
- mcMMO
|
||||||
- ItemsAdder
|
- ItemsAdder
|
||||||
|
- Orebfuscator
|
||||||
|
|
||||||
# We hook into these plugins too, but they depend on Slimefun.
|
# We hook into these plugins too, but they depend on Slimefun.
|
||||||
loadBefore:
|
loadBefore:
|
||||||
|
Loading…
Reference in New Issue
Block a user