Skip to content

Commit

Permalink
[v2.4.1+1.20] re-integrate with quickshulker (#58)
Browse files Browse the repository at this point in the history
* bump deps

* re-integrate with quick shulker

* bump version

* re-add quickshulker deps
  • Loading branch information
Aton-Kish committed Jun 18, 2023
1 parent 8019506 commit 86a9fae
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 7 deletions.
12 changes: 12 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ repositories {
url "https://maven.shedaniel.me/"
}

// Quick Shulker
maven {
url "https://maven.kyrptonaught.dev"
}

// Shulker Box Tooltip
maven {
url "https://maven.misterpemodder.com/libs-release"
Expand Down Expand Up @@ -72,6 +77,11 @@ dependencies {
// Reinforced Chests
modImplementation "atonkish.reinfchest:reinforced-chests:${project.reinforced_chests_version}"

// Quick Shulker
modImplementation "net.kyrptonaught:quickshulker:${project.quick_shulker_version}"
// Quick Shulker deps
modImplementation "net.kyrptonaught:shulkerutils:${project.shulkerutils_version}"

// Shulker Box Tooltip
modImplementation "com.misterpemodder:shulkerboxtooltip-fabric:${project.shulker_box_tooltip_version}"
}
Expand Down Expand Up @@ -147,6 +157,7 @@ curseforge {
embeddedLibrary "cloth-config"
optionalDependency "modmenu"
optionalDependency "shulkerboxtooltip"
optionalDependency "quick-shulker"
optionalDependency "reinforced-chests"
}
}
Expand All @@ -171,6 +182,7 @@ modrinth {
embedded.project "cloth-config"
optional.project "modmenu"
optional.project "shulkerboxtooltip"
optional.project "quickshulker"
optional.project "reinforced-chests"
}
}
17 changes: 10 additions & 7 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,24 @@ org.gradle.parallel=true

# Fabric Properties
# check these on https://fabricmc.net/develop
minecraft_version=1.20
yarn_mappings=1.20+build.1
minecraft_version=1.20.1
yarn_mappings=1.20.1+build.2
loader_version=0.14.21

# Mod Properties
mod_version=2.4.0+1.20
mod_version=2.4.1+1.20
mod_id=reinfshulker
maven_group=atonkish.reinfshulker
archives_base_name=reinforced-shulker-boxes

# Dependencies
fabric_version=0.83.0+1.20
reinforced_core_version=3.1.1+1.20
reinforced_chests_version=2.4.0+1.20
shulker_box_tooltip_version=4.0.1+1.20
fabric_version=0.83.1+1.20.1
reinforced_core_version=3.1.2+1.20
reinforced_chests_version=2.4.2+1.20
quick_shulker_version=1.4.0-1.20
shulker_box_tooltip_version=4.0.3+1.20
# Quick Shulker deps
shulkerutils_version=1.0.4-1.19

# Distribution platform
curseforge_id=529874
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package atonkish.reinfshulker.integration.quickshulker;

import java.util.function.BiConsumer;

import net.kyrptonaught.quickshulker.api.ItemStackInventory;
import net.kyrptonaught.quickshulker.api.QuickOpenableRegistry;
import net.kyrptonaught.quickshulker.api.RegisterQuickShulker;

import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemStack;
import net.minecraft.screen.ScreenHandlerFactory;
import net.minecraft.screen.SimpleNamedScreenHandlerFactory;
import net.minecraft.text.Text;

import atonkish.reinfcore.screen.ReinforcedStorageScreenHandler;
import atonkish.reinfcore.util.ReinforcingMaterial;
import atonkish.reinfshulker.block.ReinforcedShulkerBoxBlock;
import atonkish.reinfshulker.block.entity.ModBlockEntityType;

public class QuickShulker implements RegisterQuickShulker {
private static BiConsumer<PlayerEntity, ItemStack> REINFORCED_SHULKER_BOX_CONSUMER;

@Override
public void registerProviders() {
new QuickOpenableRegistry.Builder()
.setItem(ReinforcedShulkerBoxBlock.class)
.supportsBundleing(true)
.setOpenAction(REINFORCED_SHULKER_BOX_CONSUMER)
.register();
}

static {
REINFORCED_SHULKER_BOX_CONSUMER = (PlayerEntity player, ItemStack stack) -> {
ReinforcedShulkerBoxBlock block = (ReinforcedShulkerBoxBlock) ((BlockItem) stack.getItem()).getBlock();
ReinforcingMaterial material = block.getMaterial();
ItemStackInventory inventory = new ItemStackInventory(stack, material.getSize());
String namespace = BlockEntityType.getId(ModBlockEntityType.REINFORCED_SHULKER_BOX_MAP.get(material))
.getNamespace();

ScreenHandlerFactory screenHandlerFactory = (int syncId, PlayerInventory playerInventory,
PlayerEntity playerEntity) -> ReinforcedStorageScreenHandler.createShulkerBoxScreen(material,
syncId, playerInventory, inventory);
Text text = stack.hasCustomName() ? stack.getName()
: Text.translatable("container." + namespace + "." + material.getName() + "ShulkerBox");

player.openHandledScreen(new SimpleNamedScreenHandlerFactory(screenHandlerFactory, text));
};
}
}
3 changes: 3 additions & 0 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
"reinfcoreclient": [
"atonkish.reinfshulker.ReinforcedShulkerBoxesClientMod"
],
"quickshulker": [
"atonkish.reinfshulker.integration.quickshulker.QuickShulker"
],
"shulkerboxtooltip": [
"atonkish.reinfshulker.integration.shulkerboxtooltip.ShulkerBoxTooltip"
],
Expand Down

0 comments on commit 86a9fae

Please sign in to comment.