Skip to content

Commit dfa7fe9

Browse files
committed
Port to 1.21.2
1 parent b28d1a0 commit dfa7fe9

19 files changed

Lines changed: 241 additions & 233 deletions

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
# v1.7.0+1.21.1
1+
# v1.7.0+1.21.2
2+
3+
Hey Wiki now supports BoB!
24

35
## Changes
46

7+
- Ported to 1.21.2. Please report any issues you may have!
58
- Now supports searching the AE2 guide
69

710
### APIs

common/src/main/java/wiki/minecraft/heywiki/command/WhatStructureCommand.java

Lines changed: 46 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -27,67 +27,61 @@
2727
import static wiki.minecraft.heywiki.wiki.WikiPage.NO_FAMILY_EXCEPTION;
2828

2929
public class WhatStructureCommand {
30-
public static final SimpleCommandExceptionType NO_INTEGRATED_SERVER =
31-
new SimpleCommandExceptionType(Text.translatable("commands.whatstructure.no_integrated_server"));
32-
public static final SimpleCommandExceptionType NO_STRUCTURE =
33-
new SimpleCommandExceptionType(Text.translatable("commands.whatstructure.no_structure"));
30+
public static final SimpleCommandExceptionType NO_INTEGRATED_SERVER = new SimpleCommandExceptionType(
31+
Text.translatable("commands.whatstructure.no_integrated_server"));
32+
public static final SimpleCommandExceptionType NO_STRUCTURE = new SimpleCommandExceptionType(
33+
Text.translatable("commands.whatstructure.no_structure"));
3434
private static final MinecraftClient CLIENT = MinecraftClient.getInstance();
3535

3636
@SuppressWarnings("UnusedReturnValue")
3737
public static LiteralCommandNode<ClientCommandRegistrationEvent.ClientCommandSourceStack> register(
3838
CommandDispatcher<ClientCommandRegistrationEvent.ClientCommandSourceStack> dispatcher) {
39-
return dispatcher.register(
40-
literal("whatstructure")
41-
.executes(ctx -> {
42-
if (CLIENT.player == null || CLIENT.world == null) return -1;
39+
return dispatcher.register(literal("whatstructure").executes(ctx -> {
40+
if (CLIENT.player == null || CLIENT.world == null) return -1;
4341

44-
var block = CLIENT.player.getBlockPos();
42+
var block = CLIENT.player.getBlockPos();
4543

46-
if (!CLIENT.isIntegratedServerRunning()) {
47-
throw NO_INTEGRATED_SERVER.create();
48-
}
44+
if (!CLIENT.isIntegratedServerRunning()) {
45+
throw NO_INTEGRATED_SERVER.create();
46+
}
4947

50-
IntegratedServer server = CLIENT.getServer();
51-
UUID playerUuid = CLIENT.player.getUuid();
48+
IntegratedServer server = CLIENT.getServer();
49+
UUID playerUuid = CLIENT.player.getUuid();
5250

53-
var playerManager = Objects.requireNonNull(server).getPlayerManager();
54-
var serverPlayer = playerManager.getPlayer(playerUuid);
55-
var serverWorld = Objects.requireNonNull(serverPlayer).getServerWorld();
56-
var chunkPos = new ChunkPos(block);
57-
Chunk chunk = serverWorld.getChunk(chunkPos.x, chunkPos.z,
58-
ChunkStatus.STRUCTURE_REFERENCES,
59-
false);
60-
if (chunk == null) {
61-
return -1;
62-
}
51+
var playerManager = Objects.requireNonNull(server).getPlayerManager();
52+
var serverPlayer = playerManager.getPlayer(playerUuid);
53+
var serverWorld = Objects.requireNonNull(serverPlayer).getServerWorld();
54+
var chunkPos = new ChunkPos(block);
55+
Chunk chunk = serverWorld.getChunk(chunkPos.x, chunkPos.z, ChunkStatus.STRUCTURE_REFERENCES, false);
56+
if (chunk == null) {
57+
return -1;
58+
}
6359

64-
Map<Structure, LongSet> references = chunk.getStructureReferences();
65-
for (Map.Entry<Structure, LongSet> entry : references.entrySet()) {
66-
Structure structure = entry.getKey();
67-
LongSet positions = entry.getValue();
68-
var startChunkPos = new ChunkPos(positions.toLongArray()[0]);
69-
Chunk startChunk = serverWorld.getChunk(startChunkPos.x, startChunkPos.z,
70-
ChunkStatus.STRUCTURE_STARTS,
71-
false);
72-
assert startChunk != null;
73-
StructureStart structureStart = startChunk.getStructureStart(structure);
74-
assert structureStart != null;
75-
BlockBox boundingBox = structureStart.getBoundingBox();
76-
if (boundingBox.contains(block)) {
77-
var strucutreRegistryEntry = serverWorld.getRegistryManager()
78-
.get(RegistryKeys.STRUCTURE)
79-
.getEntry(structure);
80-
var target = Target.of(strucutreRegistryEntry, "structure");
81-
if (target == null) return -1;
82-
var page = WikiPage.fromTarget(target);
83-
if (page == null) {
84-
throw NO_FAMILY_EXCEPTION.create();
85-
}
86-
page.openInBrowserCommand(null);
87-
return Command.SINGLE_SUCCESS;
88-
}
89-
}
90-
throw NO_STRUCTURE.create();
91-
}));
60+
Map<Structure, LongSet> references = chunk.getStructureReferences();
61+
for (Map.Entry<Structure, LongSet> entry : references.entrySet()) {
62+
Structure structure = entry.getKey();
63+
LongSet positions = entry.getValue();
64+
var startChunkPos = new ChunkPos(positions.toLongArray()[0]);
65+
Chunk startChunk = serverWorld.getChunk(startChunkPos.x, startChunkPos.z, ChunkStatus.STRUCTURE_STARTS,
66+
false);
67+
assert startChunk != null;
68+
StructureStart structureStart = startChunk.getStructureStart(structure);
69+
assert structureStart != null;
70+
BlockBox boundingBox = structureStart.getBoundingBox();
71+
if (boundingBox.contains(block)) {
72+
var strucutreRegistryEntry = serverWorld.getRegistryManager().getOrThrow(RegistryKeys.STRUCTURE)
73+
.getEntry(structure);
74+
var target = Target.of(strucutreRegistryEntry, "structure");
75+
if (target == null) return -1;
76+
var page = WikiPage.fromTarget(target);
77+
if (page == null) {
78+
throw NO_FAMILY_EXCEPTION.create();
79+
}
80+
page.openInBrowserCommand(null);
81+
return Command.SINGLE_SUCCESS;
82+
}
83+
}
84+
throw NO_STRUCTURE.create();
85+
}));
9286
}
9387
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package wiki.minecraft.heywiki.extension;
2+
3+
public interface HandledScreenInterface {
4+
void heywiki$setHasStatusEffect();
5+
}

common/src/main/java/wiki/minecraft/heywiki/gui/screen/ConfirmWikiPageScreen.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ protected synchronized void init() {
175175
buttonLayout.add(this.createButtonLayout(), positioner -> positioner.marginBottom(20));
176176

177177
this.layout.forEachChild(this::addDrawableChild);
178-
this.initTabNavigation();
178+
this.refreshWidgetPositions();
179179
}
180180

181181
private IconWidget createImageWidget() {
@@ -240,7 +240,7 @@ public void close() {
240240
}
241241

242242
@Override
243-
protected void initTabNavigation() {
243+
protected void refreshWidgetPositions() {
244244
this.layout.refreshPositions();
245245
SimplePositioningWidget.setPos(this.layout, this.getNavigationFocus());
246246
}

common/src/main/java/wiki/minecraft/heywiki/gui/screen/WikiSearchScreen.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public WikiSearchScreen() {
123123
});
124124

125125
this.layout.forEachChild(this::addDrawableChild);
126-
this.initTabNavigation();
126+
this.refreshWidgetPositions();
127127
this.onSearchChange(this.textField.getText());
128128
}
129129

@@ -184,7 +184,7 @@ public void searchEntry(SuggestionEntryWidget selected) {
184184
super.close();
185185
}
186186

187-
@Override protected void initTabNavigation() {
187+
@Override protected void refreshWidgetPositions() {
188188
this.layout.refreshPositions();
189189
SimplePositioningWidget.setPos(this.layout, this.getNavigationFocus());
190190
}

common/src/main/java/wiki/minecraft/heywiki/gui/screen/WikiSelectScreen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ protected void init() {
5151
}
5252

5353
@Override
54-
protected void initTabNavigation() {
54+
protected void refreshWidgetPositions() {
5555
this.layout.refreshPositions();
5656
}
5757

common/src/main/java/wiki/minecraft/heywiki/gui/widget/SuggestionEntryWidget.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import net.minecraft.client.MinecraftClient;
55
import net.minecraft.client.gui.DrawContext;
66
import net.minecraft.client.gui.widget.AlwaysSelectedEntryListWidget.Entry;
7+
import net.minecraft.client.render.RenderLayer;
78
import net.minecraft.client.texture.AbstractTexture;
89
import net.minecraft.text.MutableText;
910
import net.minecraft.text.Style;
@@ -60,7 +61,7 @@ public void render(DrawContext DrawContext, int index, int y, int x, int rowWidt
6061
var icon = this.getIconTexture();
6162
if (icon != null) {
6263
RenderSystem.enableBlend();
63-
DrawContext.drawTexture(this.getIconTexture(), x + 22, y, 0.0F, 0.0F, iconSize, iconSize, iconSize,
64+
DrawContext.drawTexture(RenderLayer::getGuiTextured, this.getIconTexture(), x + 22, y, 0.0F, 0.0F, iconSize, iconSize, iconSize,
6465
iconSize);
6566
RenderSystem.disableBlend();
6667
}

common/src/main/java/wiki/minecraft/heywiki/mixin/AbstractInventoryScreenMixin.java

Lines changed: 0 additions & 82 deletions
This file was deleted.

0 commit comments

Comments
 (0)