Skip to content

Commit 7629d10

Browse files
committed
re-implement item spawning and /give functionality
1 parent c0eb561 commit 7629d10

File tree

3 files changed

+28
-9
lines changed

3 files changed

+28
-9
lines changed

gradle.properties

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,18 @@ minecraft_version=1.19.3
77
yarn_mappings=1.19.3+build.4
88
loader_version=0.14.12
99
# Mod Properties
10-
mod_version=0.3.1
10+
mod_version=0.3.2
1111
maven_group=com.glisco
1212
archives_base_name=deathlog
1313
# Dependencies
14-
# check this on https://modmuss50.me/fabric.html
15-
fabric_version=0.69.1+1.19.3
14+
fabric_version=0.76.0+1.19.3
1615

1716
# https://github.com/emilyploszaj/trinkets/releases
18-
trinkets_version=3.5.0
17+
trinkets_version=3.5.1
1918

2019
# https://maven.terraformersmc.com/releases/com/terraformersmc/modmenu
2120
modmenu_version=5.0.2
2221

2322
# https://maven.wispforest.io/io/wispforest/owo-lib/
24-
owo_version=0.9.3+1.19.3
23+
owo_version=0.10.3+1.19.3
2524

src/main/java/com/glisco/deathlog/client/gui/DeathLogScreen.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import net.minecraft.client.gui.screen.Screen;
1919
import net.minecraft.client.item.TooltipContext;
2020
import net.minecraft.item.ItemStack;
21+
import net.minecraft.registry.Registries;
2122
import net.minecraft.text.Text;
2223
import net.minecraft.util.Identifier;
2324
import org.lwjgl.glfw.GLFW;
@@ -215,10 +216,27 @@ private ItemComponent makeItem(ItemStack stack, Insets margins) {
215216
item.margins(margins);
216217

217218
if (!stack.isEmpty()) {
218-
item.tooltip(stack.getTooltip(
219-
client.player,
220-
client.options.advancedItemTooltips ? TooltipContext.Default.ADVANCED : TooltipContext.Default.BASIC
221-
));
219+
var tooltip = stack.getTooltip(client.player, client.options.advancedItemTooltips ? TooltipContext.Default.ADVANCED : TooltipContext.Default.BASIC);
220+
tooltip.add(Text.translatable(this.client.player.isCreative() ? "text.deathlog.action.give_item.spawn" : "text.deathlog.action.give_item.copy_give"));
221+
item.tooltip(tooltip);
222+
223+
item.mouseDown().subscribe((mouseX, mouseY, button) -> {
224+
if (button != GLFW.GLFW_MOUSE_BUTTON_MIDDLE) return false;
225+
226+
if (this.client.player.isCreative()) {
227+
this.client.interactionManager.dropCreativeStack(stack);
228+
} else {
229+
230+
String command = "/give " + client.player.getName().getString() +
231+
" " +
232+
Registries.ITEM.getId(stack.getItem()) +
233+
stack.getOrCreateNbt().toString();
234+
235+
this.client.keyboard.setClipboard(command);
236+
}
237+
238+
return true;
239+
});
222240
}
223241

224242
return item;

src/main/resources/assets/deathlog/lang/en_us.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
"key.deathlog.death_screen": "Death Log Screen",
3838

3939
"text.deathlog.action.restore": "Restore",
40+
"text.deathlog.action.give_item.spawn": {"text": "Press Mouse 3 to spawn", "color": "gray"},
41+
"text.deathlog.action.give_item.copy_give": {"text": "Press Mouse 3 to copy /give", "color": "gray"},
4042
"text.deathlog.action.delete": {"text": "Delete", "color": "red"},
4143

4244
"text.deathlog.info.time_missing": "Time missing",

0 commit comments

Comments
 (0)