Skip to content

Commit

Permalink
Implement enable and disable data packs in world
Browse files Browse the repository at this point in the history
  • Loading branch information
MacaylaMarvelous81 committed Aug 3, 2024
1 parent 2801ad0 commit 250d549
Showing 1 changed file with 7 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import net.minecraft.client.gui.screen.pack.PackScreen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.GridWidget;
import net.minecraft.resource.ResourcePackManager;
import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
Expand All @@ -16,6 +15,7 @@
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;

import java.util.Collection;
import java.util.function.Supplier;

@Mixin(GameMenuScreen.class)
Expand All @@ -32,9 +32,13 @@ private void onInitWidgets(CallbackInfo ci, GridWidget gridWidget, GridWidget.Ad
if (!this.client.isIntegratedServerRunning() || this.client.getServer().isRemote()) return;

adder.add(this.createButton(DATA_PACK_TEXT, () -> {
ResourcePackManager dataPackManager = this.client.getServer().getDataPackManager();
return new PackScreen(this.client.getServer().getDataPackManager(), (dataPackManager) -> {
Collection<String> enabledProfiles = dataPackManager.getEnabledIds();

return new PackScreen(dataPackManager, (manager) -> {}, DatapackInstallerClient.MAIN_PATH, DATA_PACK_TEXT);
this.client.getServer().reloadResources(enabledProfiles);

this.client.setScreen(this);
}, DatapackInstallerClient.MAIN_PATH, DATA_PACK_TEXT);
}));
}
}

0 comments on commit 250d549

Please sign in to comment.