This commit is contained in:
gnembon committed 2020-06-10 23:20:21 -03:00
1 parent 7eb345ff59
commit 39f0b86272
2 files changed
+28 -16

No files matched your search

@@ -18,8 +18,8 @@ import java.util.Set;
public class ServerNetworkHandler
{
public static Map<ServerPlayerEntity, String> remoteCarpetPlayers = new HashMap<>();
public static Set<ServerPlayerEntity> validCarpetPlayers = new HashSet<>();
private static Map<ServerPlayerEntity, String> remoteCarpetPlayers = new HashMap<>();
private static Set<ServerPlayerEntity> validCarpetPlayers = new HashSet<>();
public static void handleData(PacketByteBuf data, ServerPlayerEntity player)
{
@@ -63,6 +63,7 @@ public class ServerNetworkHandler
public static void updateRuleWithConnectedClients(ParsedRule<?> rule)
{
if (CarpetSettings.superSecretSetting) return;
for (ServerPlayerEntity player : remoteCarpetPlayers.keySet())
{
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
@@ -74,6 +75,7 @@ public class ServerNetworkHandler
public static void updateTickSpeedToConnectedPlayers()
{
if (CarpetSettings.superSecretSetting) return;
for (ServerPlayerEntity player : remoteCarpetPlayers.keySet())
{
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
@@ -85,6 +87,7 @@ public class ServerNetworkHandler
public static void broadcastCustomCommand(String command, Tag data)
{
if (CarpetSettings.superSecretSetting) return;
for (ServerPlayerEntity player : validCarpetPlayers)
{
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
@@ -96,7 +99,7 @@ public class ServerNetworkHandler
public static void sendCustomCommand(ServerPlayerEntity player, String command, Tag data)
{
if (validCarpetPlayers.contains(player))
if (isValidCarpetPlayer(player))
{
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
CarpetClient.CARPET_CHANNEL,
@@ -119,6 +122,13 @@ public class ServerNetworkHandler
validCarpetPlayers.clear();
}
public static boolean isValidCarpetPlayer(ServerPlayerEntity player)
{
if (CarpetSettings.superSecretSetting) return false;
return validCarpetPlayers.contains(player);
}
private static class DataBuilder
{
private CompoundTag tag;
@@ -106,7 +106,7 @@ public class ShapeDispatcher
List<ServerPlayerEntity> alternativePlayers = new ArrayList<>();
for (ServerPlayerEntity player : players)
{
if (ServerNetworkHandler.validCarpetPlayers.contains(player))
if (ServerNetworkHandler.isValidCarpetPlayer(player))
{
clientPlayers.add(player);
}
@@ -328,7 +328,7 @@ public class ShapeDispatcher
}
public Vec3d relativiseRender(World world, Vec3d vec, float partialTick)
{
if (followEntity <= 0) return vec;
if (followEntity < 0) return vec;
Entity e = world.getEntityById(followEntity);
if (e == null) return vec;
return toAbsolute(e, vec, partialTick);
@@ -344,6 +344,14 @@ public class ShapeDispatcher
NumericValue.asNumber( elements.get(2)).getDouble()
);
}
protected ParticleEffect replacementParticle()
{
String particleName = fa ==0 ?
String.format(Locale.ROOT , "dust %.1f %.1f %.1f 1.0", r, g, b):
String.format(Locale.ROOT , "dust %.1f %.1f %.1f 1.0", fr, fg, fb);
return getParticleData(particleName);
}
public abstract Consumer<ServerPlayerEntity> alternative();
public long key()
@@ -406,8 +414,7 @@ public class ShapeDispatcher
@Override
public Consumer<ServerPlayerEntity> alternative()
{
String particleName = String.format(Locale.ROOT , "dust %.1f %.1f %.1f 1.0", r, g, b);
ParticleEffect particle = getParticleData(particleName);
ParticleEffect particle = replacementParticle();
double density = Math.max(2.0, from.distanceTo(to) /50) / (a+0.1);
return p ->
{
@@ -440,7 +447,7 @@ public class ShapeDispatcher
double x1 = from.x;
double y1 = from.y;
double z1 = from.z;
double x2 = to.z;
double x2 = to.x;
double y2 = to.y;
double z2 = to.z;
return
@@ -490,10 +497,8 @@ public class ShapeDispatcher
@Override
public Consumer<ServerPlayerEntity> alternative()
{
String particleName = String.format(Locale.ROOT , "dust %.1f %.1f %.1f 1.0", r, g, b);
ParticleEffect particle = getParticleData(particleName);
ParticleEffect particle = replacementParticle();
double density = Math.max(2.0, from.distanceTo(to) /50) / (a+0.1);
return p ->
{
if (p.dimension == shapeDimension) drawParticleLine(
@@ -553,9 +558,7 @@ public class ShapeDispatcher
@Override
public Consumer<ServerPlayerEntity> alternative() { return p ->
{
if (p.dimension != shapeDimension) return;
String particleName = String.format(Locale.ROOT , "dust %.1f %.1f %.1f 1.0", r, g, b);
ParticleEffect particle = getParticleData(particleName);
ParticleEffect particle = replacementParticle();
int partno = Math.min(1000,20*subdivisions);
Random rand = p.world.getRandom();
ServerWorld world = p.getServerWorld();
@@ -633,8 +636,7 @@ public class ShapeDispatcher
@Override
public Consumer<ServerPlayerEntity> alternative() { return p ->
{
String particleName = String.format(Locale.ROOT , "dust %.1f %.1f %.1f 1.0", r, g, b);
ParticleEffect particle = getParticleData(particleName);
ParticleEffect particle = replacementParticle();
int partno = (int)Math.min(1000,Math.sqrt(20*subdivisions*(1+height)));
Random rand = p.world.getRandom();
ServerWorld world = p.getServerWorld();