Skip to content

Commit

Permalink
Fix creative menu and pridelib support
Browse files Browse the repository at this point in the history
  • Loading branch information
falkreon committed Jun 11, 2023
1 parent 6f430dc commit 32b7fbe
Show file tree
Hide file tree
Showing 6 changed files with 84 additions and 13 deletions.
8 changes: 4 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ dependencies {
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"

modImplementation include("dev.emi:trinkets:3.4.0") {
modImplementation include("dev.emi:trinkets:3.7.0") {
exclude group: "com.terraformersmc", module: "modmenu"
}

modImplementation include("io.github.cottonmc:LibGui:6.0.0+1.19")
modImplementation include("io.github.cottonmc:LibGui:${project.libgui_version}")

modImplementation include("io.github.queerbric:pridelib:1.2.0+1.19")
modImplementation include("io.github.queerbric:pridelib:1.2.0+1.19.4")

modRuntimeOnly "com.terraformersmc:modmenu:4.0.6"
//modRuntimeOnly "com.terraformersmc:modmenu:4.0.6"
}

processResources {
Expand Down
7 changes: 4 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ org.gradle.jvmargs=-Xmx1G

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

# Mod Properties
mod_version = 1.2.1
mod_version = 1.2.2
maven_group = blue.endless
archives_base_name = scarves

# Dependencies
fabric_version=0.83.0+1.20
libgui_version=8.0.0+1.20
2 changes: 1 addition & 1 deletion src/main/java/blue/endless/scarves/ScarfItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public static ItemStack createScarf(PrideFlag leftFlag, int leftLength, PrideFla
return stack;
}

private ItemStack setName(ItemStack stack, Text name) {
public static ItemStack setName(ItemStack stack, Text name) {
NbtCompound tag = stack.getOrCreateNbt();
NbtCompound display = new NbtCompound();
String json = Text.Serializer.toJson(name);
Expand Down
67 changes: 62 additions & 5 deletions src/main/java/blue/endless/scarves/ScarvesMod.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,26 @@
package blue.endless.scarves;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;
import java.util.ArrayList;

import blue.endless.scarves.api.ScarvesApi;
import blue.endless.scarves.api.ScarvesIntegration;
import io.github.queerbric.pride.PrideFlag;
import io.github.queerbric.pride.PrideFlags;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.entrypoint.EntrypointContainer;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;

public class ScarvesMod implements ModInitializer {
Expand All @@ -18,14 +29,24 @@ public class ScarvesMod implements ModInitializer {

public static ItemGroup ITEM_GROUP;

private static final List<ItemStack> creativeScarves = new ArrayList<>();

@SuppressWarnings("removal")
@Override
public void onInitialize() {
/*
ITEM_GROUP = FabricItemGroupBuilder
.create(new Identifier(MODID, "general"))
ITEM_GROUP = FabricItemGroup.builder()
.displayName(Text.literal("Scarves"))
.icon(()->new ItemStack(ScarvesItems.SCARF))
.build();*/
.entries((ItemGroup.DisplayContext context, ItemGroup.Entries entries) -> {
entries.add(new ItemStack(ScarvesItems.SCARF));
entries.add(new ItemStack(ScarvesItems.SCARF_STAPLER));
entries.add(new ItemStack(ScarvesItems.SCARF_TABLE));

addPrideScarves(entries);
for(ItemStack stack : creativeScarves) entries.add(stack);
})
.build();
Registry.register(Registries.ITEM_GROUP, new Identifier(MODID, "general"), ITEM_GROUP);

ScarvesBlocks.register();
ScarvesItems.register();
Expand All @@ -40,5 +61,41 @@ public void onInitialize() {
}
}
}


public static void addCreativeScarf(ItemStack scarfItem) {
creativeScarves.add(scarfItem);
}

public static void addPrideScarves(ItemGroup.Entries entries) {
for(PrideFlag flag : PrideFlags.getFlags()) {
if (flag==null) {
ScarvesMod.LOGGER.warn("Null pride flag found!");
continue;
}
int reps = ScarfItem.MAX_CREATIVE_SCARF_LENGTH / flag.getColors().size();
if (reps < 1) reps = 1;
int flagLength = flag.getColors().size() * reps;

ItemStack scarf = ScarfItem.createScarf(flag, flagLength, flag, 0);

//Create name
String flagKey = "flag.pridelib."+flag.getId();
Text flagName = (I18n.hasTranslation(flagKey)) ? Text.translatable(flagKey) : Text.literal(StringUtils.capitalize(flag.getId()));

Text name = Text.translatable("item.scarves.scarf.named", flagName);
scarf = ScarfItem.setName(scarf, name);

entries.add(scarf);
}

PrideFlag biFlag = PrideFlags.getFlag("bisexual");
PrideFlag panFlag = PrideFlags.getFlag("pansexual");
if (biFlag!=null && panFlag!=null) {
ItemStack biPanScarf = ScarfItem.createScarf(biFlag, 30, panFlag, 15);
Text biPanName = Text.literal(StringUtils.capitalize("Bi/Pan"));
Text name = Text.translatable("item.scarves.scarf.named", biPanName);
biPanScarf = ScarfItem.setName(biPanScarf, name);
entries.add(biPanScarf);
}
}
}
12 changes: 12 additions & 0 deletions src/main/java/blue/endless/scarves/client/ScarvesClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,24 @@

import java.util.List;

import org.apache.commons.lang3.StringUtils;

import blue.endless.scarves.ScarfItem;
import blue.endless.scarves.ScarvesBlocks;
import blue.endless.scarves.ScarvesMod;
import blue.endless.scarves.gui.ScarfStaplerGuiDescription;
import blue.endless.scarves.gui.ScarfTableGuiDescription;
import io.github.queerbric.pride.PrideFlag;
import io.github.queerbric.pride.PrideFlags;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
import net.minecraft.client.gui.screen.ingame.HandledScreens;
import net.minecraft.client.render.LightmapTextureManager;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.LightType;
Expand All @@ -20,6 +29,7 @@ public class ScarvesClient implements ClientModInitializer {

@Override
public void onInitializeClient() {
//addPrideScarves();

WorldRenderEvents.BEFORE_ENTITIES.register(ScarvesClient::beforeEntities);

Expand Down Expand Up @@ -109,4 +119,6 @@ public static void beforeEntities(WorldRenderContext ctx) {

ctx.matrixStack().pop();
}


}
1 change: 1 addition & 0 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
],

"depends": {
"pride": ">=1.2.0",
"fabricloader": ">=0.14.21",
"fabric": "*",
"minecraft": "~1.20-rc.1",
Expand Down

0 comments on commit 32b7fbe

Please sign in to comment.