Skip to content

Commit

Permalink
Merge pull request #105 from KevinDaGame/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
KevinDaGame authored Jan 8, 2023
2 parents 06e088c + 4941250 commit ed048fb
Show file tree
Hide file tree
Showing 195 changed files with 4,351 additions and 5,079 deletions.
504 changes: 504 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion VoxelSniperCore/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
plugins {
id("voxel-core")
}

description = "VoxelSniperCore"
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package com.github.kevindagame;

import com.google.common.base.Preconditions;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap;
import com.github.kevindagame.brush.*;
import com.github.kevindagame.brush.multiBlock.*;
import com.github.kevindagame.brush.shell.ShellBallBrush;
import com.github.kevindagame.brush.shell.ShellSetBrush;
import com.github.kevindagame.brush.shell.ShellVoxelBrush;
import com.google.common.base.Preconditions;

import java.util.*;

Expand All @@ -15,8 +16,7 @@ public class VoxelBrushManager {

private static VoxelBrushManager instance = null;

private final Multimap<Class<? extends IBrush>, String> brushes = HashMultimap.create();
private final List<String> brushHandles = new ArrayList<>();
private final Map<String, Class<? extends IBrush>> brushes = new HashMap<>();

public static VoxelBrushManager getInstance() {
return instance;
Expand Down Expand Up @@ -72,31 +72,23 @@ public static VoxelBrushManager initialize() {
brushManager.registerSniperBrush(OverlayBrush.class, "over", "overlay");
brushManager.registerSniperBrush(PaintingBrush.class, "painting");
brushManager.registerSniperBrush(PullBrush.class, "pull");
//brushManager.registerSniperBrush(RandomErodeBrush.class, "re", "randomerode");
brushManager.registerSniperBrush(RegenerateChunkBrush.class, "rc", "regeneratechunk");
brushManager.registerSniperBrush(RingBrush.class, "ri", "ring");
brushManager.registerSniperBrush(Rot2DBrush.class, "rot2", "rotation2d");
brushManager.registerSniperBrush(Rot2DvertBrush.class, "rot2v", "rotation2dvertical");
brushManager.registerSniperBrush(Rot3DBrush.class, "rot3", "rotation3d");
brushManager.registerSniperBrush(RulerBrush.class, "r", "ruler");
brushManager.registerSniperBrush(ScannerBrush.class, "sc", "scanner");
brushManager.registerSniperBrush(SetBrush.class, "set");
//brushManager.registerSniperBrush(SetRedstoneFlipBrush.class, "setrf", "setredstoneflip");
brushManager.registerSniperBrush(ShellBallBrush.class, "shb", "shellball");
brushManager.registerSniperBrush(ShellSetBrush.class, "shs", "shellset");
brushManager.registerSniperBrush(ShellVoxelBrush.class, "shv", "shellvoxel");
brushManager.registerSniperBrush(SignOverwriteBrush.class, "sio", "signoverwriter");
brushManager.registerSniperBrush(SnipeBrush.class, "s", "snipe");
//brushManager.registerSniperBrush(SnowConeBrush.class, "snow", "snowcone");
//brushManager.registerSniperBrush(SpiralStaircaseBrush.class, "sstair", "spiralstaircase");
brushManager.registerSniperBrush(SplatterBallBrush.class, "sb", "splatball");
brushManager.registerSniperBrush(SplatterDiscBrush.class, "sd", "splatdisc");
brushManager.registerSniperBrush(SplatterOverlayBrush.class, "sover", "splatteroverlay");
brushManager.registerSniperBrush(SplineBrush.class, "sp", "spline");
brushManager.registerSniperBrush(SplatterVoxelBrush.class, "sv", "splattervoxel");
brushManager.registerSniperBrush(SplatterDiscBrush.class, "svd", "splatvoxeldisc");
brushManager.registerSniperBrush(SplineBrush.class, "sp", "spline");
//brushManager.registerSniperBrush(StencilBrush.class, "st", "stencil");
//brushManager.registerSniperBrush(StencilListBrush.class, "sl", "stencillist");
brushManager.registerSniperBrush(ThreePointCircleBrush.class, "tpc", "threepointcircle");
brushManager.registerSniperBrush(TreeSnipeBrush.class, "t", "tree", "treesnipe");
brushManager.registerSniperBrush(TriangleBrush.class, "tri", "triangle");
Expand All @@ -107,6 +99,19 @@ public static VoxelBrushManager initialize() {
brushManager.registerSniperBrush(VoxelDiscFaceBrush.class, "vdf", "voxeldiscface");
brushManager.registerSniperBrush(WarpBrush.class, "w", "warp");

//these brushes are currently removed/broken
//brushManager.registerSniperBrush(StencilBrush.class, "st", "stencil");
//brushManager.registerSniperBrush(StencilListBrush.class, "sl", "stencillist");

//brushManager.registerSniperBrush(Rot2DBrush.class, "rot2", "rotation2d");
//brushManager.registerSniperBrush(Rot2DvertBrush.class, "rot2v", "rotation2dvertical");
//brushManager.registerSniperBrush(Rot3DBrush.class, "rot3", "rotation3d");


//these brushes have an unknown status
//brushManager.registerSniperBrush(SnowConeBrush.class, "snow", "snowcone");
//brushManager.registerSniperBrush(SpiralStaircaseBrush.class, "sstair", "spiralstaircase");

return getInstance();
}

Expand All @@ -119,61 +124,58 @@ public static VoxelBrushManager initialize() {
public void registerSniperBrush(Class<? extends IBrush> clazz, String... handles) {
Preconditions.checkNotNull(clazz, "Cannot register null as a class.");
for (String handle : handles) {
brushes.put(clazz, handle.toLowerCase());
brushHandles.add(handle.toLowerCase());
brushes.put(handle.toLowerCase(), clazz);
}
}

/**
* Retrieve Brush class via handle Lookup.
*
* @param handle Case insensitive brush handle
* @param handle Case-insensitive brush handle
* @return Brush class
*/
public Class<? extends IBrush> getBrushForHandle(String handle) {
Preconditions.checkNotNull(handle, "Brushhandle can not be null.");
if (!brushes.containsValue(handle.toLowerCase())) {
return null;
}

for (Map.Entry<Class<? extends IBrush>, String> entry : brushes.entries()) {
if (entry.getValue().equalsIgnoreCase(handle)) {
return entry.getKey();
}
}
return null;
return brushes.get(handle.toLowerCase());
}

/**
* @return Amount of IBrush classes registered with the system under Sniper visibility.
*/
public int registeredSniperBrushes() {
return brushes.keySet().size();
return (int) brushes.values().stream().distinct().count();
}

/**
* @return Amount of handles registered with the system under Sniper visibility.
*/
public int registeredSniperBrushHandles() {
return brushes.size();
return brushes.values().size();
}

/**
* @param clazz Brush class
* @return All Sniper registered handles for the brush.
*/
public Set<String> getSniperBrushHandles(Class<? extends IBrush> clazz) {
return new HashSet<>(brushes.get(clazz));
Set<String> handles = new HashSet<>();
for (String key : brushes.keySet()) {
if (brushes.get(key).equals(clazz)) {
handles.add(key);
}
}
return handles;
}

/**
* @return Immutable Multimap copy of all the registered brushes
* @return Immutable Map copy of all the registered brushes
*/
public Multimap<Class<? extends IBrush>, String> getRegisteredBrushesMultimap() {
return ImmutableMultimap.copyOf(brushes);
public Map<String, Class<? extends IBrush>> getRegisteredBrushesMap() {
return Map.copyOf(brushes);
}

public List<String> getBrushHandles() {
return brushHandles;
return new ArrayList<>(brushes.keySet());
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.github.kevindagame;

import com.google.common.collect.Maps;
import com.github.kevindagame.snipe.Sniper;
import com.github.kevindagame.voxelsniper.entity.player.IPlayer;
import com.google.common.collect.Maps;

import java.util.Map;
import java.util.UUID;
Expand Down
Loading

0 comments on commit ed048fb

Please sign in to comment.