Skip to content

Commit eb8deec

Browse files
committed
chore: update to 1.21.6
1 parent 3e41428 commit eb8deec

File tree

4 files changed

+70
-37
lines changed

4 files changed

+70
-37
lines changed

gradle.properties

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
org.gradle.jvmargs=-Xmx2G
22

33
# Fabric Properties
4-
minecraft_version=1.21.5
5-
yarn_mappings=1.21.5+build.1
6-
loader_version=0.16.10
4+
minecraft_version=1.21.6
5+
yarn_mappings=1.21.6+build.1
6+
loader_version=0.16.14
77

88
# Mod Properties
9-
mod_version = 2.9.0
9+
mod_version = 2.9.1
1010
maven_group = io.icker
1111
archives_base_name = factions
1212

1313
# Dependencies
14-
fabric_version=0.119.5+1.21.5
15-
lucko_permissions_version=0.3.1
14+
fabric_version=0.127.0+1.21.6
15+
lucko_permissions_version=0.4.0
1616
dynmap_api_version=3.7-SNAPSHOT
1717
papi_version=2.4.1+1.21
18-
styled_chat_version=E1RdcKyb
18+
styled_chat_version=4iEiOcnO
1919
bluemap_api_version=2.7.1
2020
squaremap_api_version=1.2.3
21-
sgui_version=1.9.0+1.21.5
22-
stapi_version=2.5.0+1.21.5-rc1
21+
sgui_version=1.10.0+1.21.6
22+
stapi_version=2.5.1+1.21.5
2323
flow_version=1.0.3

src/main/java/io/icker/factions/FactionsMod.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@
4343
import net.minecraft.server.command.CommandManager;
4444
import net.minecraft.server.command.ServerCommandSource;
4545

46-
import org.apache.logging.log4j.LogManager;
47-
import org.apache.logging.log4j.Logger;
46+
import org.slf4j.Logger;
47+
import org.slf4j.LoggerFactory;
4848

4949
public class FactionsMod implements ModInitializer {
50-
public static Logger LOGGER = LogManager.getLogger("Factions");
50+
public static Logger LOGGER = LoggerFactory.getLogger("Factions");
5151
public static final String MODID = "factions";
5252

5353
public static Config CONFIG = Config.load();

src/main/java/io/icker/factions/database/SerializerRegistry.java

Lines changed: 57 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package io.icker.factions.database;
22

3+
import com.mojang.serialization.Codec;
4+
import com.mojang.serialization.codecs.RecordCodecBuilder;
5+
6+
import io.icker.factions.FactionsMod;
37
import io.icker.factions.api.persistents.Relationship.Permissions;
48
import io.icker.factions.api.persistents.Relationship.Status;
59
import io.icker.factions.api.persistents.User.ChatMode;
@@ -22,12 +26,18 @@
2226
import net.minecraft.nbt.NbtLongArray;
2327
import net.minecraft.nbt.NbtShort;
2428
import net.minecraft.nbt.NbtString;
29+
import net.minecraft.storage.NbtReadView;
30+
import net.minecraft.storage.NbtWriteView;
31+
import net.minecraft.storage.ReadView;
32+
import net.minecraft.storage.ReadView.TypedListReadView;
33+
import net.minecraft.storage.WriteView.ListAppender;
34+
import net.minecraft.util.ErrorReporter;
2535
import net.minecraft.util.Uuids;
36+
import net.minecraft.util.dynamic.Codecs;
2637

2738
import org.apache.commons.lang3.ArrayUtils;
2839

2940
import java.util.HashMap;
30-
import java.util.Optional;
3141
import java.util.UUID;
3242
import java.util.function.Function;
3343

@@ -134,49 +144,72 @@ private static <T extends Enum<T>> Serializer<T, NbtString> createEnumSerializer
134144
el -> Enum.valueOf(clazz, el.asString().orElse("")));
135145
}
136146

147+
public record InventoryItem(int slot, ItemStack stack) {
148+
public static final Codec<InventoryItem> CODEC =
149+
RecordCodecBuilder.create(
150+
(instance) -> {
151+
return instance.group(
152+
Codecs.UNSIGNED_BYTE
153+
.fieldOf("Slot")
154+
.orElse(0)
155+
.forGetter(InventoryItem::slot),
156+
ItemStack.MAP_CODEC
157+
.fieldOf("Data")
158+
.forGetter(InventoryItem::stack))
159+
.apply(instance, InventoryItem::new);
160+
});
161+
}
162+
137163
private static Serializer<SimpleInventory, NbtList> createInventorySerializer(int size) {
138164
return new Serializer<SimpleInventory, NbtList>(
139165
val -> {
140-
NbtList nbtList = new NbtList();
166+
ErrorReporter.Logging reporter = new ErrorReporter.Logging(FactionsMod.LOGGER);
167+
NbtWriteView view =
168+
NbtWriteView.create(
169+
reporter,
170+
WorldUtils.getWorld("minecraft:overworld")
171+
.getRegistryManager());
172+
ListAppender<InventoryItem> appender =
173+
view.getListAppender("Data", InventoryItem.CODEC);
141174

142175
for (int i = 0; i < val.size(); ++i) {
143176
ItemStack itemStack = val.getStack(i);
144177
if (!itemStack.isEmpty()) {
145-
NbtCompound nbtCompound = new NbtCompound();
146-
nbtCompound.putByte("Slot", (byte) i);
147-
nbtCompound.put(
148-
"Data",
149-
itemStack.toNbt(WorldUtils.server.getRegistryManager()));
150-
nbtList.add(nbtCompound);
178+
appender.add(new InventoryItem(i, itemStack));
151179
}
152180
}
153181

154-
return nbtList;
182+
reporter.close();
183+
184+
return view.getNbt().getList("Data").get();
155185
},
156186
el -> {
187+
NbtCompound compound = new NbtCompound();
188+
compound.put("Data", el);
189+
190+
ErrorReporter.Logging reporter = new ErrorReporter.Logging(FactionsMod.LOGGER);
191+
192+
ReadView view =
193+
NbtReadView.create(
194+
reporter,
195+
WorldUtils.getWorld("minecraft:overworld").getRegistryManager(),
196+
compound);
197+
157198
SimpleInventory inventory = new SimpleInventory(size);
158199

159200
for (int i = 0; i < size; ++i) {
160201
inventory.setStack(i, ItemStack.EMPTY);
161202
}
162203

163-
for (int i = 0; i < el.size(); ++i) {
164-
Optional<NbtCompound> optionalNbtCompound = el.getCompound(i);
165-
if (optionalNbtCompound.isEmpty()) {
166-
continue;
167-
}
168-
NbtCompound nbtCompound = optionalNbtCompound.get();
169-
int slot = nbtCompound.getByte("Slot").orElse((byte) size) & 255;
170-
if (slot >= 0 && slot < size) {
171-
inventory.setStack(
172-
slot,
173-
ItemStack.fromNbt(
174-
WorldUtils.server.getRegistryManager(),
175-
nbtCompound.get("Data"))
176-
.get());
177-
}
204+
TypedListReadView<InventoryItem> list_view =
205+
view.getTypedListView("Data", InventoryItem.CODEC);
206+
207+
for (InventoryItem item : list_view) {
208+
inventory.setStack(item.slot(), item.stack());
178209
}
179210

211+
reporter.close();
212+
180213
return inventory;
181214
});
182215
}

src/main/resources/fabric.mod.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
"depends": {
3232
"fabricloader": ">=0.13.3",
33-
"minecraft": ">=1.21.4",
33+
"minecraft": ">=1.21.6",
3434
"java": ">=17",
3535
"fabric-api": "*"
3636
},

0 commit comments

Comments
 (0)