Skip to content

Commit

Permalink
Update to 1.20.6 (Polymer Port)
Browse files Browse the repository at this point in the history
  • Loading branch information
Patbox committed May 28, 2024
1 parent b37c5f8 commit e6d9e65
Show file tree
Hide file tree
Showing 19 changed files with 66 additions and 227 deletions.
8 changes: 5 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,13 @@ dependencies {
modCompileOnly "dev.emi:emi-fabric:${emi_version}:api"

modImplementation include("eu.pb4:sgui:${project.sgui_version}")
modImplementation include("eu.pb4:polymer-resource-pack:${project.polymer_version}")
modImplementation "eu.pb4:polymer-core:${project.polymer_version}"
modImplementation "eu.pb4:polymer-resource-pack:${project.polymer_version}"
modImplementation include("eu.pb4:player-data-api:${project.pda_version}")
modImplementation include("xyz.nucleoid:server-translations-api:${project.translation_version}")


modLocalRuntime "eu.pb4:polymer-autohost:${project.polymer_version}"
modCompileOnly "eu.pb4:polymer-core:${project.polymer_version}"
modLocalRuntime "eu.pb4:polymer-core:${project.polymer_version}"

// Dev Runtime
testmodImplementation sourceSets.main.output
Expand Down Expand Up @@ -159,6 +158,9 @@ if (System.getenv("MODRINTH")) {
versionType = "beta"
uploadFile = remapJar // This links to a task that builds your mod jar and sets "uploadFile" to the mod jar.
gameVersions = [((String) project.minecraft_version)]
dependencies {
required "polymer"
}
changelog = System.getenv("CHANGELOG")
loaders = ["fabric", "quilt"]
}
Expand Down
10 changes: 5 additions & 5 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ emi_version=1.1.6+1.20.6
rei_version=15.0.728
cloth_config_version=14.0.126

port_version=2
port_version=1


polymer_version=0.7.4+1.20.4
sgui_version=1.4.1+1.20.4
translation_version=2.2.0+1.20.3-rc1
pda_version=0.4.0+1.20.3
polymer_version=0.8.1+1.20.6
sgui_version=1.5.1+1.20.5
translation_version=2.3.0+1.20.5-rc2
pda_version=0.5.0+1.20.5
16 changes: 4 additions & 12 deletions src/main/java/dev/emi/trinkets/TrinketsMain.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,7 @@
import dev.emi.trinkets.api.TrinketsAttributeModifiersComponent;
import dev.emi.trinkets.api.SlotGroup;
import dev.emi.trinkets.api.SlotType;
import dev.emi.trinkets.payload.BreakPayload;
import dev.emi.trinkets.payload.SyncInventoryPayload;
import dev.emi.trinkets.payload.SyncSlotsPayload;
import net.fabricmc.fabric.api.event.player.UseItemCallback;
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
import net.minecraft.item.ItemStack;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
Expand All @@ -31,13 +27,8 @@

import dev.emi.trinkets.data.EntitySlotLoader;
import dev.emi.trinkets.data.SlotLoader;
import dev.emi.trinkets.poly.Elements;
import dev.emi.trinkets.poly.TrinketsFlatUI;
import dev.emi.trinkets.poly.TrinketsPoly;
import dev.onyxstudios.cca.api.v3.entity.EntityComponentFactoryRegistry;
import dev.onyxstudios.cca.api.v3.entity.EntityComponentInitializer;
import dev.onyxstudios.cca.api.v3.entity.RespawnCopyStrategy;
import eu.pb4.playerdata.api.PlayerDataApi;
import org.ladysnake.cca.api.v3.entity.EntityComponentFactoryRegistry;
import org.ladysnake.cca.api.v3.entity.EntityComponentInitializer;
import org.ladysnake.cca.api.v3.entity.RespawnCopyStrategy;
Expand Down Expand Up @@ -69,8 +60,6 @@ public void onInitialize() {
ServerLifecycleEvents.END_DATA_PACK_RELOAD.register((server, serverResourceManager, success)
-> EntitySlotLoader.SERVER.sync(server.getPlayerManager().getPlayerList()));

TrinketsPoly.init();
CommandRegistrationCallback.EVENT.register((dispatcher, registry, env) ->
UseItemCallback.EVENT.register((player, world, hand) -> {
ItemStack stack = player.getStackInHand(hand);
Trinket trinket = TrinketsApi.getTrinket(stack.getItem());
Expand All @@ -82,7 +71,8 @@ public void onInitialize() {
return TypedActionResult.pass(stack);
});
Registry.register(Registries.DATA_COMPONENT_TYPE, new Identifier(MOD_ID, "attribute_modifiers"), TrinketsAttributeModifiersComponent.TYPE);
dispatcher.register(literal("trinkets")
CommandRegistrationCallback.EVENT.register((dispatcher, registry, env) ->
dispatcher.register(literal("trinkets")
.executes(ctx -> TrinketsFlatUI.open(ctx.getSource().getPlayerOrThrow()))
.then(CommandManager.literal("compact").executes(TrinketsPoly::toggleCompactCommand))
.then(
Expand Down Expand Up @@ -118,6 +108,8 @@ public void onInitialize() {
)
)
));

TrinketsPoly.init();
}

private static int trinketsCommand(CommandContext<ServerCommandSource> context, int amount) {
Expand Down
18 changes: 18 additions & 0 deletions src/main/java/dev/emi/trinkets/TrinketsNetwork.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package dev.emi.trinkets;

import dev.emi.trinkets.payload.BreakPayload;
import dev.emi.trinkets.payload.SyncInventoryPayload;
import dev.emi.trinkets.payload.SyncSlotsPayload;
import net.minecraft.network.packet.CustomPayload;
import net.minecraft.util.Identifier;

@Deprecated
public class TrinketsNetwork {

public static final CustomPayload.Id<SyncSlotsPayload> SYNC_SLOTS = new CustomPayload.Id<>(new Identifier(TrinketsMain.MOD_ID, "sync_slots"));
public static final CustomPayload.Id<SyncInventoryPayload> SYNC_INVENTORY = new CustomPayload.Id<>(new Identifier(TrinketsMain.MOD_ID, "sync_inventory"));
public static final CustomPayload.Id<BreakPayload> BREAK = new CustomPayload.Id<>(new Identifier(TrinketsMain.MOD_ID, "break"));

private TrinketsNetwork() {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,9 @@
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;

import dev.emi.trinkets.TrinketPlayerScreenHandler;
import net.minecraft.network.RegistryByteBuf;
import net.minecraft.registry.RegistryWrapper;
import net.minecraft.registry.entry.RegistryEntry;
import org.ladysnake.cca.api.v3.component.sync.AutoSyncedComponent;
import org.ladysnake.cca.api.v3.component.Component;
import net.fabricmc.fabric.api.util.NbtType;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.attribute.EntityAttribute;
Expand All @@ -32,7 +30,7 @@
import net.minecraft.util.collection.DefaultedList;
import org.ladysnake.cca.api.v3.entity.RespawnableComponent;

public class LivingEntityTrinketComponent implements TrinketComponent, AutoSyncedComponent, RespawnableComponent {
public class LivingEntityTrinketComponent implements TrinketComponent, Component, RespawnableComponent {

public Map<String, Map<String, TrinketInventory>> inventory = new HashMap<>();
public Set<TrinketInventory> trackingUpdates = new HashSet<>();
Expand Down Expand Up @@ -61,11 +59,6 @@ public Map<String, Map<String, TrinketInventory>> getInventory() {
return inventory;
}

@Override
public boolean shouldSyncWith(ServerPlayerEntity player) {
return false;
}

@Override
public void update() {
Map<String, SlotGroup> entitySlots = TrinketsApi.getEntitySlots(this.entity);
Expand Down Expand Up @@ -264,47 +257,6 @@ public void readFromNbt(NbtCompound tag, RegistryWrapper.WrapperLookup lookup) {
}
}

@Override
public void applySyncPacket(RegistryByteBuf buf) {
NbtCompound tag = buf.readNbt();

if (tag != null) {

for (String groupKey : tag.getKeys()) {
NbtCompound groupTag = tag.getCompound(groupKey);

if (groupTag != null) {
Map<String, TrinketInventory> groupSlots = this.inventory.get(groupKey);

if (groupSlots != null) {

for (String slotKey : groupTag.getKeys()) {
NbtCompound slotTag = groupTag.getCompound(slotKey);
NbtList list = slotTag.getList("Items", NbtType.COMPOUND);
TrinketInventory inv = groupSlots.get(slotKey);

if (inv != null) {
inv.applySyncTag(slotTag.getCompound("Metadata"));
}

for (int i = 0; i < list.size(); i++) {
NbtCompound c = list.getCompound(i);
ItemStack stack = ItemStack.fromNbtOrEmpty(buf.getRegistryManager(), c);
if (inv != null && i < inv.size()) {
inv.setStack(i, stack);
}
}
}
}
}
}

if (this.entity instanceof PlayerEntity player) {
//((TrinketPlayerScreenHandler) player.playerScreenHandler).trinkets$updateTrinketSlots(false);
}
}
}

@Override
public void writeToNbt(NbtCompound tag, RegistryWrapper.WrapperLookup lookup) {
for (Map.Entry<String, Map<String, TrinketInventory>> group : this.getInventory().entrySet()) {
Expand All @@ -325,15 +277,6 @@ public void writeToNbt(NbtCompound tag, RegistryWrapper.WrapperLookup lookup) {
}
}

@Override
public void writeSyncPacket(RegistryByteBuf buf, ServerPlayerEntity recipient) {
this.syncing = true;
NbtCompound tag = new NbtCompound();
this.writeToNbt(tag, buf.getRegistryManager());
this.syncing = false;
buf.writeNbt(tag);
}

@Override
public boolean shouldCopyForRespawn(boolean lossless, boolean keepInventory, boolean sameCharacter) {
return lossless || keepInventory;
Expand Down
9 changes: 6 additions & 3 deletions src/main/java/dev/emi/trinkets/api/SlotType.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@
import dev.emi.trinkets.api.TrinketEnums.DropRule;
import dev.emi.trinkets.poly.GuiModels;
import net.fabricmc.fabric.api.util.NbtType;
import net.minecraft.component.DataComponentTypes;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.nbt.NbtList;
import net.minecraft.nbt.NbtString;
import net.minecraft.registry.DynamicRegistryManager;
import net.minecraft.registry.Registries;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
Expand Down Expand Up @@ -49,7 +52,7 @@ public SlotType(String group, String name, int order, int amount, Identifier ico
this.dropRule = dropRule;

this.itemIcon = itemIcon.copy();
this.itemIcon.getOrCreateNbt().putInt("CustomModelData", GuiModels.getOrCreate(icon, this.itemIcon.getItem()).value());
this.itemIcon.set(DataComponentTypes.CUSTOM_MODEL_DATA, GuiModels.getOrCreate(icon, this.itemIcon.getItem()).asComponent());
}

public String getGroup() {
Expand Down Expand Up @@ -121,7 +124,7 @@ public void write(NbtCompound data) {
tag.put("TooltipPredicates", tooltipPredicateList);
tag.putString("DropRule", dropRule.toString());

tag.put("PolyPort$icon", this.itemIcon.writeNbt(new NbtCompound()));
tag.put("PolyPort$icon", this.itemIcon.encodeAllowEmpty(DynamicRegistryManager.of(Registries.REGISTRIES)));

data.put("SlotData", tag);
}
Expand Down Expand Up @@ -158,7 +161,7 @@ public static SlotType read(NbtCompound data) {
dropRule = TrinketEnums.DropRule.valueOf(dropRuleName);
}

var itemIcon = ItemStack.fromNbt(slotData.getCompound("PolyPort$icon"));
var itemIcon = ItemStack.fromNbtOrEmpty(DynamicRegistryManager.of(Registries.REGISTRIES), slotData.getCompound("PolyPort$icon"));
if (itemIcon == ItemStack.EMPTY) {
itemIcon = Items.IRON_CHESTPLATE.getDefaultStack();
}
Expand Down
14 changes: 0 additions & 14 deletions src/main/java/dev/emi/trinkets/api/Trinket.java
Original file line number Diff line number Diff line change
@@ -1,36 +1,22 @@
package dev.emi.trinkets.api;

import java.util.ArrayList;
import java.util.Optional;
import java.util.UUID;
import java.util.function.Consumer;

import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.Multimaps;

import dev.emi.trinkets.mixin.accessor.LivingEntityAccessor;
import java.util.function.Consumer;
import net.fabricmc.fabric.api.util.NbtType;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.attribute.EntityAttribute;
import net.minecraft.entity.attribute.EntityAttributeModifier;
import net.minecraft.item.Equipment;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtList;
import net.minecraft.particle.ItemStackParticleEffect;
import net.minecraft.particle.ParticleTypes;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.sound.SoundEvents;
import net.minecraft.registry.Registries;
import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.sound.SoundEvent;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.random.Random;

public interface Trinket {
Expand Down
27 changes: 0 additions & 27 deletions src/main/java/dev/emi/trinkets/compat/TrinketsEmiPlugin.java

This file was deleted.

49 changes: 0 additions & 49 deletions src/main/java/dev/emi/trinkets/compat/TrinketsExclusionAreas.java

This file was deleted.

24 changes: 0 additions & 24 deletions src/main/java/dev/emi/trinkets/compat/TrinketsREIPlugin.java

This file was deleted.

Loading

0 comments on commit e6d9e65

Please sign in to comment.