Skip to content

Commit

Permalink
Try get stuff working
Browse files Browse the repository at this point in the history
  • Loading branch information
zbx1425 committed Jan 4, 2025
1 parent c025339 commit 665910a
Show file tree
Hide file tree
Showing 14 changed files with 107 additions and 113 deletions.
6 changes: 6 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ repositories {
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.

flatDir {
dir "libs"
}
}

loom {
Expand All @@ -32,6 +36,8 @@ dependencies {
minecraft "net.minecraft:minecraft:$project.minecraft_version"
mappings loom.officialMojangMappings()
neoForge "net.neoforged:neoforge:$project.neoforge_version"

modImplementation "libs:l2backpack:3.0.10"
}

processResources {
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G
loom.platform = neoforge

# Mod properties
mod_version = 0.1.0
mod_version = 0.1.1
maven_group = org.teacon
archives_name = gimmeman

Expand Down
Binary file added libs/l2backpack-3.0.10.jar
Binary file not shown.
16 changes: 0 additions & 16 deletions src/main/java/org/teacon/gimmeman/GimmeMan.java

This file was deleted.

18 changes: 18 additions & 0 deletions src/main/java/org/teacon/gimmeman/GiveMeMan.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package org.teacon.gimmeman;

import net.minecraft.resources.ResourceLocation;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.common.Mod;

@Mod(GiveMeMan.MOD_ID)
public final class GiveMeMan {
public static final String MOD_ID = "gimmeman";

public GiveMeMan(IEventBus eventBus) {

}

public static ResourceLocation id(String path) {
return ResourceLocation.fromNamespaceAndPath(MOD_ID, path);
}
}

This file was deleted.

This file was deleted.

16 changes: 0 additions & 16 deletions src/main/java/org/teacon/gimmeman/mixin/DisplayInfoMixin.java

This file was deleted.

34 changes: 34 additions & 0 deletions src/main/java/org/teacon/gimmeman/mixin/L2BackpackMixin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package org.teacon.gimmeman.mixin;

import dev.xkmc.l2backpack.events.StartUpGiveItemEvents;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.level.storage.loot.LootParams;
import net.minecraft.world.level.storage.loot.LootTable;
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSet;
import net.neoforged.neoforge.event.tick.PlayerTickEvent;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.teacon.gimmeman.GiveMeMan;

@Mixin(StartUpGiveItemEvents.class)
public class L2BackpackMixin {

@Inject(method = "onPlayerTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/player/Inventory;placeItemBackInInventory(Lnet/minecraft/world/item/ItemStack;)V", shift = At.Shift.AFTER))
private static void afterBackpackGiven(PlayerTickEvent.Post event, CallbackInfo ci) {
if (!(event.getEntity() instanceof ServerPlayer player)) return;
LootTable lootTable = player.server.reloadableRegistries().getLootTable(
ResourceKey.create(Registries.LOOT_TABLE, GiveMeMan.id("startup_items")));
LootParams lootParams = (new LootParams.Builder(player.serverLevel()))
.withLuck(player.getLuck())
.create(LootContextParamSet.builder().build());
lootTable.getRandomItems(lootParams).forEach(itemStack -> {
if (!player.getInventory().add(itemStack)) {
player.drop(itemStack, false);
}
});
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package org.teacon.gimmeman.mixin;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.components.toasts.Toast;
import net.minecraft.client.gui.components.toasts.ToastComponent;
import net.minecraft.client.multiplayer.ClientAdvancements;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;

@Mixin(ClientAdvancements.class)
public class MixinClientAdvancements {

@Redirect(method = "update",at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/components/toasts/ToastComponent;addToast(Lnet/minecraft/client/gui/components/toasts/Toast;)V"))
public void onAddToast(ToastComponent instance, Toast arg){
assert Minecraft.getInstance().player != null;
if (Minecraft.getInstance().player.tickCount < 100) return;
instance.addToast(arg);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package org.teacon.gimmeman.mixin;

import net.minecraft.advancements.DisplayInfo;
import net.minecraft.server.PlayerAdvancements;
import net.minecraft.server.level.ServerPlayer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;

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

@Mixin(PlayerAdvancements.class)
public class MixinPlayerAdvancements {

@Shadow private ServerPlayer player;

@SuppressWarnings("OptionalUsedAsFieldOrParameterType")
@Redirect(method = "award", at = @At(value = "INVOKE", target = "Ljava/util/Optional;ifPresent(Ljava/util/function/Consumer;)V"))
public void onBoardCastMessage(Optional<DisplayInfo> instance, Consumer<DisplayInfo> action){
if (player.tickCount < 100) return;
instance.ifPresent(action);
}
}

This file was deleted.

6 changes: 3 additions & 3 deletions src/main/resources/gimmeman.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
"compatibilityLevel": "JAVA_21",
"minVersion": "0.8",
"client": [
"MixinClientAdvancements"
],
"mixins": [
"AdvancementManagerMixin",
"AdvancementRewardsMixin",
"DisplayInfoMixin"
"L2BackpackMixin",
"MixinPlayerAdvancements"
],
"injectors": {
"defaultRequire": 1
Expand Down

0 comments on commit 665910a

Please sign in to comment.