Skip to content

Commit 83de00b

Browse files
committed
Update to 1.21.9
1 parent ef0ed06 commit 83de00b

10 files changed

Lines changed: 52 additions & 52 deletions

File tree

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'fabric-loom' version '1.10.+'
2+
id 'fabric-loom' version '1.11.+'
33
id 'maven-publish'
44
id "com.modrinth.minotaur" version "2.+"
55
}
@@ -29,7 +29,7 @@ dependencies {
2929

3030
modImplementation include("eu.pb4:map-canvas-api:${project.mapcanvas_version}")
3131
modImplementation include("eu.pb4:sgui:${project.sgui_version}")
32-
modImplementation include("me.lucko:fabric-permissions-api:0.4.0")
32+
modImplementation include("me.lucko:fabric-permissions-api:0.4.2-patbox.1")
3333
//implementation include("com.twelvemonkeys.imageio:imageio-webp:3.12.0")
3434
}
3535

gradle.properties

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@ org.gradle.jvmargs=-Xmx1G
33

44
# Fabric Properties
55
# check these on https://fabricmc.net/versions.html
6-
minecraft_version=1.21.6
7-
yarn_mappings=1.21.6+build.1
8-
loader_version=0.16.14
9-
loom_version=1.10-SNAPSHOT
6+
minecraft_version=1.21.9-rc1
7+
yarn_mappings=1.21.9-rc1+build.1
8+
loader_version=0.17.2
9+
loom_version=1.11-SNAPSHOT
1010

1111
# Fabric API
12-
fabric_version=0.127.0+1.21.6
12+
fabric_version=0.133.14+1.21.9
1313

1414
# Mod Properties
15-
mod_version = 0.10.1+1.21.6
15+
mod_version = 0.11.0+1.21.9
1616
maven_group = space.essem
1717
archives_base_name = image2map
1818

1919
# Dependencies
20-
mapcanvas_version=0.5.1+1.21.5
21-
sgui_version=1.10.0+1.21.6
20+
mapcanvas_version=0.6.0+1.21.9
21+
sgui_version=1.11.0+1.21.9

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

src/main/java/space/essem/image2map/Image2Map.java

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -378,8 +378,8 @@ public static ItemStack toSingleStack(List<ItemStack> items, String input, int w
378378
} else {
379379
var bundle = new ItemStack(Items.BUNDLE);
380380
bundle.set(DataComponentTypes.BUNDLE_CONTENTS, new BundleContentsComponent(items));
381-
bundle.set(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT.with(NbtOps.INSTANCE, ImageData.CODEC,
382-
ImageData.ofBundle(MathHelper.ceil(width / 128d), MathHelper.ceil(height / 128d))).getOrThrow());
381+
bundle.set(DataComponentTypes.CUSTOM_DATA, NbtComponent.of(ImageData.CODEC.codec().encodeStart(NbtOps.INSTANCE,
382+
ImageData.ofBundle(MathHelper.ceil(width / 128d), MathHelper.ceil(height / 128d))).result().orElseThrow().asCompound().orElseThrow()));
383383

384384
bundle.set(DataComponentTypes.LORE, new LoreComponent(List.of(Text.literal(input))));
385385
bundle.set(DataComponentTypes.ITEM_NAME, Text.literal("Maps").formatted(Formatting.GOLD));
@@ -390,13 +390,13 @@ public static ItemStack toSingleStack(List<ItemStack> items, String input, int w
390390

391391
public static boolean clickItemFrame(PlayerEntity player, Hand hand, ItemFrameEntity itemFrameEntity) {
392392
var stack = player.getStackInHand(hand);
393-
var bundleData = stack.getOrDefault(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT).get(ImageData.CODEC);
393+
var bundleData = stack.getOrDefault(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT).copyNbt().decode(ImageData.CODEC);
394394

395-
if (stack.isOf(Items.BUNDLE) && bundleData.isSuccess() && bundleData.getOrThrow().quickPlace()) {
396-
var world = itemFrameEntity.getWorld();
395+
if (stack.isOf(Items.BUNDLE) && bundleData.isPresent() && bundleData.orElseThrow().quickPlace()) {
396+
var world = itemFrameEntity.getEntityWorld();
397397
var start = itemFrameEntity.getBlockPos();
398-
var width = bundleData.getOrThrow().width();
399-
var height = bundleData.getOrThrow().height();
398+
var width = bundleData.orElseThrow().width();
399+
var height = bundleData.orElseThrow().height();
400400

401401
var frames = new ItemFrameEntity[width * height];
402402

@@ -436,14 +436,14 @@ public static boolean clickItemFrame(PlayerEntity player, Hand hand, ItemFrameEn
436436
}
437437

438438
for (var map : stack.getOrDefault(DataComponentTypes.BUNDLE_CONTENTS, BundleContentsComponent.DEFAULT).iterate()) {
439-
var mapData = map.getOrDefault(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT).get(ImageData.CODEC);
439+
var mapData = map.getOrDefault(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT).copyNbt().decode(ImageData.CODEC);
440440

441-
if (mapData.isSuccess() && mapData.getOrThrow().isReal()) {
441+
if (mapData.isPresent() && mapData.orElseThrow().isReal()) {
442442
map = map.copy();
443-
var newData = mapData.getOrThrow().withDirection(right, down, facing);
444-
map.apply(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT, x -> x.with(NbtOps.INSTANCE, ImageData.CODEC, newData).getOrThrow());
443+
var newData = mapData.orElseThrow().withDirection(right, down, facing);
444+
map.set(DataComponentTypes.CUSTOM_DATA, NbtComponent.of(ImageData.CODEC.codec().encodeStart(NbtOps.INSTANCE, newData).result().orElseThrow().asCompound().orElseThrow()));
445445

446-
var frame = frames[mapData.getOrThrow().x() + mapData.getOrThrow().y() * width];
446+
var frame = frames[mapData.orElseThrow().x() + mapData.orElseThrow().y() * width];
447447

448448
if (frame != null && frame.getHeldItemStack().isEmpty()) {
449449
frame.setHeldItemStack(map);
@@ -463,21 +463,21 @@ public static boolean clickItemFrame(PlayerEntity player, Hand hand, ItemFrameEn
463463

464464
public static boolean destroyItemFrame(Entity player, ItemFrameEntity itemFrameEntity) {
465465
var stack = itemFrameEntity.getHeldItemStack();
466-
var tag = stack.getOrDefault(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT).get(ImageData.CODEC);
466+
var tag = stack.getOrDefault(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT).copyNbt().decode(ImageData.CODEC);
467467

468468

469-
if (stack.getItem() == Items.FILLED_MAP && tag.isSuccess() && tag.getOrThrow().right().isPresent()
470-
&& tag.getOrThrow().down().isPresent() && tag.getOrThrow().facing().isPresent()) {
471-
var xo = tag.getOrThrow().x();
472-
var yo = tag.getOrThrow().y();
473-
var width = tag.getOrThrow().width();
474-
var height = tag.getOrThrow().height();
469+
if (stack.getItem() == Items.FILLED_MAP && tag.isPresent() && tag.orElseThrow().right().isPresent()
470+
&& tag.orElseThrow().down().isPresent() && tag.orElseThrow().facing().isPresent()) {
471+
var xo = tag.orElseThrow().x();
472+
var yo = tag.orElseThrow().y();
473+
var width = tag.orElseThrow().width();
474+
var height = tag.orElseThrow().height();
475475

476-
Direction right = tag.getOrThrow().right().get();
477-
Direction down = tag.getOrThrow().down().get();
478-
Direction facing = tag.getOrThrow().facing().get();
476+
Direction right = tag.orElseThrow().right().get();
477+
Direction down = tag.orElseThrow().down().get();
478+
Direction facing = tag.orElseThrow().facing().get();
479479

480-
var world = itemFrameEntity.getWorld();
480+
var world = itemFrameEntity.getEntityWorld();
481481
var start = itemFrameEntity.getBlockPos();
482482

483483
var mut = start.mutableCopy();
@@ -499,10 +499,10 @@ public static boolean destroyItemFrame(Entity player, ItemFrameEntity itemFrameE
499499

500500
// Only apply to frames that contain an image2map map
501501
var frameStack = frame.getHeldItemStack();
502-
tag = frameStack.getOrDefault(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT).get(ImageData.CODEC);
502+
tag = frameStack.getOrDefault(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT).copyNbt().decode(ImageData.CODEC);
503503

504-
if (frameStack.getItem() == Items.FILLED_MAP && tag.isSuccess() && tag.getOrThrow().right().isPresent()
505-
&& tag.getOrThrow().down().isPresent() && tag.getOrThrow().facing().isPresent()) {
504+
if (frameStack.getItem() == Items.FILLED_MAP && tag.isPresent() && tag.orElseThrow().right().isPresent()
505+
&& tag.orElseThrow().down().isPresent() && tag.orElseThrow().facing().isPresent()) {
506506
frame.setHeldItemStack(ItemStack.EMPTY, true);
507507
frame.setInvisible(false);
508508
}

src/main/java/space/essem/image2map/gui/MapGui.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import net.minecraft.entity.EntityType;
1818
import net.minecraft.entity.MovementType;
1919
import net.minecraft.entity.passive.HorseEntity;
20-
import net.minecraft.entity.player.PlayerPosition;
20+
import net.minecraft.entity.EntityPosition;
2121
import net.minecraft.item.ItemStack;
2222
import net.minecraft.item.Items;
2323
import net.minecraft.network.PacketByteBuf;
@@ -64,7 +64,7 @@ public MapGui(ServerPlayerEntity player, int width, int height) {
6464
var pos = player.getBlockPos().withY(2048);
6565
this.pos = pos;
6666

67-
this.entity = new HorseEntity(EntityType.HORSE, player.getWorld());
67+
this.entity = new HorseEntity(EntityType.HORSE, player.getEntityWorld());
6868
this.entity.setYaw(0);
6969
this.entity.setHeadYaw(0);
7070
this.entity.setNoGravity(true);
@@ -102,12 +102,12 @@ public MapGui(ServerPlayerEntity player, int width, int height) {
102102
protected void resizeCanvas(int width, int height) {
103103
this.destroy();
104104
this.initialize(width, height);
105-
this.player.networkHandler.sendPacket(new EntityPositionS2CPacket(this.entity.getId(), new PlayerPosition(this.entity.getPos(), Vec3d.ZERO, this.entity.getYaw(), this.entity.getPitch()), Set.of(), false));
105+
this.player.networkHandler.sendPacket(new EntityPositionS2CPacket(this.entity.getId(), new EntityPosition(this.entity.getEntityPos(), Vec3d.ZERO, this.entity.getYaw(), this.entity.getPitch()), Set.of(), false));
106106
}
107107

108108
protected void initialize(int width, int height) {
109109
this.canvas = DrawableCanvas.create(width, height);
110-
this.virtualDisplay = VirtualDisplay.of(this.canvas, pos, Direction.NORTH, 0, true);
110+
this.virtualDisplay = VirtualDisplay.builder(this.canvas, pos, Direction.NORTH).glowing().build();
111111
//this.renderer = CanvasRenderer.of(new CanvasImage(this.canvas.getWidth(), this.canvas.getHeight()));
112112

113113
this.canvas.addPlayer(player);
@@ -149,14 +149,14 @@ public void onTick() {
149149
public void onClose() {
150150
//this.cursor.remove();
151151
this.destroy();
152-
this.player.getServer().getCommandManager().sendCommandTree(this.player);
152+
this.player.getEntityWorld().getServer().getCommandManager().sendCommandTree(this.player);
153153
this.player.networkHandler.sendPacket(new SetCameraEntityS2CPacket(this.player));
154154
this.player.networkHandler.sendPacket(new EntitiesDestroyS2CPacket(this.entity.getId()));
155155
if (!this.additionalEntities.isEmpty()) {
156156
this.player.networkHandler.sendPacket(new EntitiesDestroyS2CPacket(this.additionalEntities));
157157
}
158158
this.player.networkHandler.sendPacket(new GameStateChangeS2CPacket(GameStateChangeS2CPacket.GAME_MODE_CHANGED, this.player.interactionManager.getGameMode().getIndex()));
159-
this.player.networkHandler.sendPacket(new PlayerPositionLookS2CPacket(this.player.getId(), new PlayerPosition(this.player.getPos(), Vec3d.ZERO, this.player.getYaw(), this.player.getPitch()), Set.of()));
159+
this.player.networkHandler.sendPacket(new PlayerPositionLookS2CPacket(this.player.getId(), new EntityPosition(this.player.getEntityPos(), Vec3d.ZERO, this.player.getYaw(), this.player.getPitch()), Set.of()));
160160
if (this.player.hasVehicle()) {
161161
this.player.networkHandler.sendPacket(new EntityPassengersSetS2CPacket(Objects.requireNonNull(this.player.getVehicle())));
162162
}
@@ -204,7 +204,7 @@ public boolean onClickEntity(int entityId, EntityInteraction type, boolean isSne
204204

205205
public void setDistance(double i) {
206206
this.entity.setPos(this.entity.getX(), this.entity.getY(), this.pos.getZ() - i);
207-
this.player.networkHandler.sendPacket(new EntityPositionS2CPacket(this.entity.getId(), new PlayerPosition(this.entity.getPos(), Vec3d.ZERO, this.entity.getYaw(), this.entity.getPitch()), Set.of(), false));
207+
this.player.networkHandler.sendPacket(new EntityPositionS2CPacket(this.entity.getId(), new EntityPosition(this.entity.getEntityPos(), Vec3d.ZERO, this.entity.getYaw(), this.entity.getPitch()), Set.of(), false));
208208
}
209209

210210
@Override

src/main/java/space/essem/image2map/gui/PreviewGui.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ private static <T> RequiredArgumentBuilder<PreviewGui, T> argument(String name,
210210
if (x.getSource().imageProcessing == null) {
211211
x.getSource().drawLoading();
212212
Image2Map.giveToPlayer(x.getSource().player,
213-
MapRenderer.toVanillaItems(x.getSource().image, x.getSource().player.getWorld(), x.getSource().source),
213+
MapRenderer.toVanillaItems(x.getSource().image, x.getSource().player.getEntityWorld(), x.getSource().source),
214214
x.getSource().source, x.getSource().width, x.getSource().height);
215215

216216
x.getSource().close();

src/main/java/space/essem/image2map/mixin/BundleItemMixin.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class BundleItemMixin {
2525
ItemStack itemStack = user.getStackInHand(hand);
2626
var tag = itemStack.get(DataComponentTypes.CUSTOM_DATA);
2727

28-
if (tag != null && tag.contains("image2map:quick_place") && !user.isCreative()) {
28+
if (tag != null && tag.copyNbt().contains("image2map:quick_place") && !user.isCreative()) {
2929
cir.setReturnValue(ActionResult.FAIL);
3030
cir.cancel();
3131
}
@@ -36,7 +36,7 @@ public class BundleItemMixin {
3636
CallbackInfoReturnable<Boolean> cir) {
3737
var tag = bundle.get(DataComponentTypes.CUSTOM_DATA);
3838

39-
if (tag != null && tag.contains("image2map:quick_place") && !player.isCreative()) {
39+
if (tag != null && tag.copyNbt().contains("image2map:quick_place") && !player.isCreative()) {
4040
cir.setReturnValue(false);
4141
cir.cancel();
4242
}
@@ -48,7 +48,7 @@ public class BundleItemMixin {
4848
CallbackInfoReturnable<Boolean> cir) {
4949
var tag = bundle.get(DataComponentTypes.CUSTOM_DATA);
5050

51-
if (tag != null && tag.contains("image2map:quick_place") && !player.isCreative()) {
51+
if (tag != null && tag.copyNbt().contains("image2map:quick_place") && !player.isCreative()) {
5252
cir.setReturnValue(false);
5353
cir.cancel();
5454
}

src/main/java/space/essem/image2map/mixin/PlayerEntityMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class PlayerEntityMixin {
1818

1919
@Shadow public ScreenHandler currentScreenHandler;
2020

21-
@Inject(method = "damage", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/LivingEntity;damage(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/damage/DamageSource;F)Z", shift = At.Shift.BEFORE))
21+
@Inject(method = "damage", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/PlayerLikeEntity;damage(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/damage/DamageSource;F)Z", shift = At.Shift.BEFORE))
2222
private void image2map$closeOnDamage(ServerWorld world, DamageSource source, float amount, CallbackInfoReturnable<Boolean> cir) {
2323
if (amount > 0 && this.currentScreenHandler instanceof VirtualScreenHandlerInterface handler && handler.getGui() instanceof MapGui computerGui) {
2424
computerGui.close();

src/main/java/space/essem/image2map/mixin/ServerPlayNetworkHandlerMixin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ public ServerPlayNetworkHandlerMixin(MinecraftServer server, ClientConnection co
3838
super(server, connection, clientData);
3939
}
4040

41-
@WrapWithCondition(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerPlayerEntity;updatePositionAndAngles(DDDFF)V"))
41+
@WrapWithCondition(method = "method_73086", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerPlayerEntity;updatePositionAndAngles(DDDFF)V"))
4242
private boolean image2map$allowMovement(ServerPlayerEntity instance, double x, double y, double z, float p, float yaw) {
4343
if (this.player.currentScreenHandler instanceof VirtualScreenHandlerInterface handler && handler.getGui() instanceof MapGui computerGui) {
4444
double l = instance.getX() - this.lastTickX;
4545
double m = instance.getY() - this.lastTickY;
4646
double n = instance.getZ() - this.lastTickZ;
47-
this.player.getWorld().getChunkManager().updatePosition(this.player);
47+
this.player.getEntityWorld().getChunkManager().updatePosition(this.player);
4848
this.player.handleFall(l, m , n, player.isOnGround());
4949
this.player.setOnGround(player.isOnGround());
5050
this.syncWithPlayerPosition();

src/main/java/space/essem/image2map/renderer/MapRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public static List<ItemStack> toVanillaItems(CanvasImage image, ServerWorld worl
9595
var stack = new ItemStack(Items.FILLED_MAP);
9696
stack.set(DataComponentTypes.MAP_ID, id);
9797
var data = ImageData.ofSimple(xs, ys, xSections, ySections);
98-
stack.apply(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT, x -> x.with(NbtOps.INSTANCE, ImageData.CODEC, data).getOrThrow());
98+
stack.set(DataComponentTypes.CUSTOM_DATA, NbtComponent.of(ImageData.CODEC.codec().encodeStart(NbtOps.INSTANCE, data).result().orElseThrow().asCompound().orElseThrow()));
9999
stack.set(DataComponentTypes.LORE, new LoreComponent(List.of(
100100
Text.literal(xs + " / " + ys).formatted(Formatting.GRAY),
101101
Text.literal(url)

0 commit comments

Comments
 (0)