@@ -92,6 +92,7 @@ public class SzarClient implements ClientModInitializer {
|
||||
// Apply the cosmetic profile on the main thread
|
||||
client.execute(() -> {
|
||||
ClientCosmetics.fetchMojangCapes(playerUuid);
|
||||
System.out.println("got it client");
|
||||
ClientCosmetics.apply(playerUuid, nameType, staticColor, gradientStart, gradientEnd, capeTexture);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -12,6 +12,10 @@ import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.TypedActionResult;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class FaszItem extends BlockItem {
|
||||
|
||||
public FaszItem(Block block, Settings settings) {
|
||||
@@ -22,7 +26,7 @@ public class FaszItem extends BlockItem {
|
||||
public TypedActionResult<ItemStack> use(World world, PlayerEntity user, Hand hand) {
|
||||
ItemStack stack = user.getStackInHand(hand);
|
||||
|
||||
if (!world.isClient && stack.isOf(this)) {
|
||||
if (!world.isClient && stack.isOf(this) && new Random().nextInt(5) == 1) {
|
||||
ServerWorld serverWorld = (ServerWorld) world;
|
||||
|
||||
// Get the direction the player's torso is looking
|
||||
|
||||
@@ -217,7 +217,16 @@ public class ServerCosmetics {
|
||||
/* ---------------- SYNC ---------------- */
|
||||
|
||||
public static void sync(ServerPlayerEntity player, UserCosmetics user) {
|
||||
for (ServerPlayerEntity p : player.getServer().getPlayerManager().getPlayerList()) {
|
||||
System.out.println("Syncing player: " + player.getName().getString() + " user: " + user.toString());
|
||||
List<ServerPlayerEntity> original =
|
||||
player.getServer().getPlayerManager().getPlayerList();
|
||||
List<ServerPlayerEntity> list = new ArrayList<>(original);
|
||||
if (!list.contains(player)) {list.add(player);}
|
||||
System.out.println(
|
||||
player.getServer().getPlayerManager().getPlayerList().size()
|
||||
);
|
||||
for (ServerPlayerEntity p : list) {
|
||||
System.out.println("sending sync : " + player.getName().getString() + " to user: " + p.getName().getString());
|
||||
PacketByteBuf buf = PacketByteBufs.create();
|
||||
|
||||
// Write player UUID first
|
||||
|
||||
@@ -11,6 +11,7 @@ import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
||||
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
|
||||
import net.fabricmc.fabric.api.message.v1.ServerMessageDecoratorEvent;
|
||||
import net.fabricmc.fabric.api.networking.v1.PacketByteBufs;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
|
||||
@@ -64,13 +65,13 @@ import net.minecraft.world.poi.PointOfInterestType;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static dev.tggamesyt.szar.ServerCosmetics.USERS;
|
||||
import static dev.tggamesyt.szar.ServerCosmetics.sync;
|
||||
|
||||
public class Szar implements ModInitializer {
|
||||
public static final String MOD_ID = "szar";
|
||||
public static final Logger LOGGER = LogManager.getLogger(MOD_ID);
|
||||
@@ -286,6 +287,22 @@ public class Szar implements ModInitializer {
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
ServerCosmetics.init();
|
||||
ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> {
|
||||
ServerPlayerEntity player = handler.getPlayer();
|
||||
|
||||
ServerCosmetics.UserCosmetics user = USERS.get(player.getUuid());
|
||||
if (user != null) {
|
||||
|
||||
// AUTO SELECT FIRST CAPE IF NONE SELECTED
|
||||
if (user.selectedCape == null && !user.ownedCapes.isEmpty()) {
|
||||
user.selectedCape = user.ownedCapes.get(0);
|
||||
} else {
|
||||
user.selectedCape = null;
|
||||
}
|
||||
|
||||
sync(player, user);
|
||||
}
|
||||
});
|
||||
ServerLifecycleEvents.SERVER_STARTED.register(server -> {
|
||||
SERVER = server;
|
||||
});
|
||||
@@ -1153,8 +1170,12 @@ public class Szar implements ModInitializer {
|
||||
}
|
||||
|
||||
private void givePregnantEffect(ServerPlayerEntity player, ServerPlayerEntity partner) {
|
||||
player.addStatusEffect(new StatusEffectInstance(PREGNANT, 20 * 60 * 20, 0, false, false, true));
|
||||
pregnantPartners.put(player.getUuid(), partner.getUuid());
|
||||
Random r = new Random();
|
||||
System.out.println(r.nextInt());
|
||||
if (r.nextInt(10) == 6) {
|
||||
player.addStatusEffect(new StatusEffectInstance(PREGNANT, 20 * 60 * 20, 0, false, false, true));
|
||||
pregnantPartners.put(player.getUuid(), partner.getUuid());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"nameType": "GRADIENT",
|
||||
"gradientStart": "#8CD6FF",
|
||||
"gradientEnd": "#00FFFF",
|
||||
"capes": ["tg", "tg1", "test", "gabri"]
|
||||
"capes": ["tg", "tg1", "test", "gabri", "ciber"]
|
||||
},
|
||||
{
|
||||
"uuid": "52af5540-dd18-4ad9-9acb-50eb11531180",
|
||||
|
||||
Reference in New Issue
Block a user