mirror of
https://github.com/sekwah41/Advanced-Portals.git
synced 2025-02-26 01:01:58 +01:00
wip: try switching over to particles
This commit is contained in:
parent
d42fbd67c5
commit
acdf7a768a
@ -4,6 +4,8 @@ import com.sekwah.advancedportals.core.data.BlockAxis;
|
||||
import com.sekwah.advancedportals.core.portal.AdvancedPortal;
|
||||
import com.sekwah.advancedportals.core.serializeddata.BlockLocation;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public interface WorldContainer {
|
||||
void setBlock(BlockLocation location, String material);
|
||||
|
||||
@ -16,4 +18,6 @@ public interface WorldContainer {
|
||||
void setBlockAxis(BlockLocation location, BlockAxis axis);
|
||||
|
||||
void disableBeacon(AdvancedPortal portal);
|
||||
|
||||
void spawnColoredDust(BlockLocation blockPos, double xSpread, double ySpread, double zSpread, int count, Color color);
|
||||
}
|
||||
|
@ -8,6 +8,8 @@ public class Debug {
|
||||
public static boolean addMarker(PlayerContainer player,
|
||||
BlockLocation blockPos, String name,
|
||||
Color color, int milliseconds) {
|
||||
player.getWorld().spawnColoredDust(blockPos, 1, 1, 1, 20, color);
|
||||
|
||||
FriendlyDataOutput out = new FriendlyDataOutput();
|
||||
out.writeBlock(blockPos);
|
||||
out.writeInt(color(color));
|
||||
|
@ -14,6 +14,7 @@ import com.sekwah.advancedportals.spigot.connector.command.SpigotCommandRegister
|
||||
import com.sekwah.advancedportals.spigot.connector.container.SpigotServerContainer;
|
||||
import com.sekwah.advancedportals.spigot.importer.LegacyImporter;
|
||||
import com.sekwah.advancedportals.spigot.metrics.Metrics;
|
||||
import com.sekwah.advancedportals.spigot.reflection.MinecraftCustomPayload;
|
||||
import com.sekwah.advancedportals.spigot.warpeffects.SpigotWarpEffects;
|
||||
import java.io.File;
|
||||
import java.util.regex.Matcher;
|
||||
@ -59,6 +60,8 @@ public class AdvancedPortalsPlugin extends JavaPlugin {
|
||||
|
||||
Injector injector = module.getInjector();
|
||||
|
||||
MinecraftCustomPayload.attemptFindData();
|
||||
|
||||
injector.injectMembers(this);
|
||||
injector.injectMembers(this.portalsCore);
|
||||
injector.injectMembers(serverContainer);
|
||||
|
@ -6,11 +6,14 @@ import com.sekwah.advancedportals.core.portal.AdvancedPortal;
|
||||
import com.sekwah.advancedportals.core.serializeddata.BlockLocation;
|
||||
import org.bukkit.Axis;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.EndGateway;
|
||||
import org.bukkit.block.data.Orientable;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public class SpigotWorldContainer implements WorldContainer {
|
||||
private final World world;
|
||||
|
||||
@ -108,4 +111,14 @@ public class SpigotWorldContainer implements WorldContainer {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void spawnColoredDust(BlockLocation blockPos, double xSpread, double ySpread, double zSpread, int count, Color color) {
|
||||
Particle.DustOptions dustOptions = new Particle.DustOptions(
|
||||
org.bukkit.Color.fromRGB(color.getRed(), color.getGreen(),
|
||||
color.getBlue()), 1);
|
||||
this.world.spawnParticle(Particle.REDSTONE, blockPos.getPosX(),
|
||||
blockPos.getPosY(), blockPos.getPosZ(), 1,
|
||||
xSpread, ySpread, zSpread, count, dustOptions);
|
||||
}
|
||||
}
|
||||
|
@ -34,6 +34,13 @@ public class MinecraftCustomPayload {
|
||||
throw new NoSuchFieldException("Field with type " + fieldType + " not found in object");
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempt to find the methods and classes needed.
|
||||
*/
|
||||
public static void attemptFindData() {
|
||||
|
||||
}
|
||||
|
||||
private static void outputAllMethodsToFile(Class clazz) throws IOException {
|
||||
var pluginInstance = AdvancedPortalsPlugin.getInstance();
|
||||
var dataFolder = pluginInstance.getDataFolder();
|
||||
|
@ -3,7 +3,9 @@ package com.sekwah.advancedportals.spigot.warpeffects;
|
||||
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||
import com.sekwah.advancedportals.core.effect.WarpEffect;
|
||||
import com.sekwah.advancedportals.spigot.connector.container.SpigotPlayerContainer;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.Particle;
|
||||
|
||||
public class EnderWarpEffect implements WarpEffect.Visual, WarpEffect.Sound {
|
||||
@Override
|
||||
@ -15,6 +17,8 @@ public class EnderWarpEffect implements WarpEffect.Visual, WarpEffect.Sound {
|
||||
|
||||
player.getWorld().playSound(player.getLocation(),
|
||||
"entity.enderman.teleport", 1, 1);
|
||||
|
||||
Particle.DustOptions dustOptions = new Particle.DustOptions(Color.RED, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user