From 2ca458aaea4130ec08cef11846afebb7c1e2d32b Mon Sep 17 00:00:00 2001 From: Nicholas Ignoffo Date: Tue, 4 Sep 2018 19:58:09 -0700 Subject: [PATCH] =?UTF-8?q?:zoomeyes:=20=F0=9F=98=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Just something I was playing around with --- .../wayoftime/bloodmagic/guide/Category.java | 36 ----------- .../com/wayoftime/bloodmagic/guide/Entry.java | 29 --------- .../com/wayoftime/bloodmagic/guide/Guide.java | 34 ----------- .../bloodmagic/guide/page/PageComponent.java | 61 ------------------- .../guide/page/PageComponentFiller.java | 8 --- .../guide/page/PageComponentImage.java | 32 ---------- .../guide/page/PageComponentItem.java | 14 ----- .../guide/page/PageComponentRecipe.java | 19 ------ .../guide/page/PageComponentSmelting.java | 20 ------ .../guide/page/PageComponentText.java | 50 --------------- .../bloodmagic/guide/test/GuideTest.java | 56 ----------------- .../bloodmagic/guide/test/ItemGuide.java | 15 ----- .../bloodmagic/guide/test/gui/Bookmark.java | 23 ------- .../bloodmagic/guide/test/gui/GuiGuide.java | 35 ----------- 14 files changed, 432 deletions(-) delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/Category.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/Entry.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/Guide.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponent.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentFiller.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentImage.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentItem.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentRecipe.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentSmelting.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentText.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/test/GuideTest.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/test/ItemGuide.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/test/gui/Bookmark.java delete mode 100644 src/main/java/com/wayoftime/bloodmagic/guide/test/gui/GuiGuide.java diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/Category.java b/src/main/java/com/wayoftime/bloodmagic/guide/Category.java deleted file mode 100644 index 08f54c4d..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/Category.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.wayoftime.bloodmagic.guide; - -import com.google.common.collect.Maps; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import java.util.Map; -import java.util.function.Consumer; - -public class Category { - - private final Guide owner; - private final String name; - private final Map entries; - - public Category(Guide owner, String name, Consumer $) { - this.owner = owner; - this.name = name; - entries = Maps.newLinkedHashMap(); - - $.accept(this); - } - - @SideOnly(Side.CLIENT) - public void draw(Minecraft minecraft, ScaledResolution resolution, FontRenderer font) { - - } - - public Entry addEntry(Entry entry) { - entries.put(entry.getId(), entry); - return entry; - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/Entry.java b/src/main/java/com/wayoftime/bloodmagic/guide/Entry.java deleted file mode 100644 index a87f42e8..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/Entry.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.wayoftime.bloodmagic.guide; - -import com.google.common.collect.Lists; -import com.wayoftime.bloodmagic.guide.page.PageComponent; - -import java.util.List; -import java.util.function.Consumer; - -public class Entry { - - private final String id; - private final List components; - - public Entry(String id, Consumer $) { - this.id = id; - this.components = Lists.newArrayList(); - - $.accept(this); - } - - public PageComponent appendComponent(PageComponent component) { - components.add(component); - return component; - } - - public String getId() { - return id; - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/Guide.java b/src/main/java/com/wayoftime/bloodmagic/guide/Guide.java deleted file mode 100644 index 09706f6c..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/Guide.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.wayoftime.bloodmagic.guide; - -import com.google.common.collect.Lists; -import net.minecraft.util.ResourceLocation; - -import java.util.List; -import java.util.function.Consumer; - -public class Guide { - - private final ResourceLocation id; - private final List categories; - - public Guide(ResourceLocation id, Consumer $) { - this.id = id; - this.categories = Lists.newArrayList(); - - $.accept(this); - } - - public Category addCategory(String name, Consumer category) { - Category cat = new Category(this, name, category); - categories.add(cat); - return cat; - } - - public ResourceLocation getId() { - return id; - } - - public List getCategories() { - return categories; - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponent.java b/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponent.java deleted file mode 100644 index 3037b182..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponent.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.wayoftime.bloodmagic.guide.page; - -import com.wayoftime.bloodmagic.guide.Guide; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import javax.annotation.Nullable; -import java.util.function.Consumer; - -public class PageComponent { - - private final int height; - private IComponentSplitter splitter; - private IViewingRequirement viewingRequirement; - - public PageComponent(int height) { - this.height = height; - } - - @SideOnly(Side.CLIENT) - public void draw(Minecraft minecraft, ScaledResolution resolution, FontRenderer font) { - - } - - public int getHeight() { - return height; - } - - @Nullable - public IComponentSplitter getSplitter() { - return splitter; - } - - public PageComponent withComponentSplitter(IComponentSplitter splitter) { - this.splitter = splitter; - return this; - } - - public IViewingRequirement getViewingRequirement() { - return viewingRequirement; - } - - public PageComponent withViewingRequirement(IViewingRequirement viewingRequirement) { - this.viewingRequirement = viewingRequirement; - return this; - } - - public interface IComponentSplitter { - void split(Consumer components, int currentPosition, int pageHeight); - } - - public interface IViewingRequirement { - boolean canView(EntityPlayer player, World world, ItemStack guideStack, Guide guide); - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentFiller.java b/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentFiller.java deleted file mode 100644 index 60f9679d..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentFiller.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.wayoftime.bloodmagic.guide.page; - -public class PageComponentFiller extends PageComponent { - - public PageComponentFiller() { - super(-1); - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentImage.java b/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentImage.java deleted file mode 100644 index 6b01f3fa..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentImage.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.wayoftime.bloodmagic.guide.page; - -import net.minecraft.util.ResourceLocation; - -import javax.vecmath.Point2i; - -public class PageComponentImage extends PageComponent { - - private final Sprite sprite; - - public PageComponentImage(Sprite sprite) { - super(sprite.size.y); - - this.sprite = sprite; - } - - public static class Sprite { - private final ResourceLocation location; - private final Point2i startPosition; - private final Point2i size; - - public Sprite(ResourceLocation location, Point2i startPosition, Point2i size) { - this.location = location; - this.startPosition = startPosition; - this.size = size; - } - - public void draw(int x, int y) { - // TODO - } - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentItem.java b/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentItem.java deleted file mode 100644 index 54ccf9ee..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentItem.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.wayoftime.bloodmagic.guide.page; - -import net.minecraft.item.ItemStack; - -public class PageComponentItem extends PageComponent { - - private final ItemStack item; - - public PageComponentItem(ItemStack item) { - super(18); - - this.item = item; - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentRecipe.java b/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentRecipe.java deleted file mode 100644 index 9de5e908..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentRecipe.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.wayoftime.bloodmagic.guide.page; - -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.common.registry.ForgeRegistries; - -import java.util.function.Supplier; - -public class PageComponentRecipe extends PageComponent { - - private final Supplier recipeGetter; - private IRecipe recipe; - - public PageComponentRecipe(ResourceLocation recipe) { - super(60); - - this.recipeGetter = () -> ForgeRegistries.RECIPES.getValue(recipe); - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentSmelting.java b/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentSmelting.java deleted file mode 100644 index f49154e7..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentSmelting.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.wayoftime.bloodmagic.guide.page; - -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.FurnaceRecipes; - -import java.util.function.Supplier; - -public class PageComponentSmelting extends PageComponent { - - private final ItemStack output; - private final Supplier inputGetter; - private ItemStack input; - - public PageComponentSmelting(ItemStack output) { - super(20); - - this.output = output; - this.inputGetter = () -> FurnaceRecipes.instance().getSmeltingResult(output); - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentText.java b/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentText.java deleted file mode 100644 index be8ed262..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/page/PageComponentText.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.wayoftime.bloodmagic.guide.page; - -import com.google.common.collect.Lists; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.TextComponentString; - -import java.util.List; -import java.util.function.Consumer; - -public class PageComponentText extends PageComponent { - - private final ITextComponent textComponent; - - public PageComponentText(ITextComponent text) { - super(-1); - - this.textComponent = text; - withComponentSplitter(new StringSplitter(textComponent)); - } - - private static class StringSplitter implements IComponentSplitter { - - private final ITextComponent component; - - public StringSplitter(ITextComponent component) { - this.component = component; - } - - @Override - public void split(Consumer components, int currentPosition, int pageHeight) { - String fullText = component.getFormattedText(); - FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer; - List lines = fontRenderer.listFormattedStringToWidth(fullText, 300); - int remainingSpace = pageHeight - currentPosition; - for (String line : lines) { - List componentLines = Lists.newArrayList(); - if (remainingSpace >= fontRenderer.FONT_HEIGHT + 3) { - componentLines.add(line); - remainingSpace += fontRenderer.FONT_HEIGHT + 3; - } else { - remainingSpace = pageHeight; - components.accept(new PageComponentText(new TextComponentString(String.join(" ", componentLines)))); - componentLines.clear(); - } - } - } - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/test/GuideTest.java b/src/main/java/com/wayoftime/bloodmagic/guide/test/GuideTest.java deleted file mode 100644 index 9c4679e7..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/test/GuideTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.wayoftime.bloodmagic.guide.test; - -import com.google.common.collect.Lists; -import com.wayoftime.bloodmagic.guide.Entry; -import com.wayoftime.bloodmagic.guide.Guide; -import com.wayoftime.bloodmagic.guide.page.PageComponentFiller; -import com.wayoftime.bloodmagic.guide.page.PageComponentItem; -import com.wayoftime.bloodmagic.guide.page.PageComponentText; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.text.TextComponentString; -import net.minecraftforge.event.RegistryEvent; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -import java.util.List; - -@Mod(modid = "test_guide") -@Mod.EventBusSubscriber(modid = "test_guide") -public class GuideTest { - - public static final List GUIDES = Lists.newArrayList(); - - @Mod.EventHandler - public void preInit(FMLPreInitializationEvent event) { - GUIDES.add(new Guide(new ResourceLocation("guide_test", "test"), guide -> { - guide.addCategory("test_cat_1", category -> { - category.addEntry(new Entry("test_entry_1", test1 -> { - test1.appendComponent(new PageComponentText(new TextComponentString("doot"))); - })); - }); - - guide.addCategory("test_cat_2", category -> { - category.addEntry(new Entry("test_entry_2", test2 -> { - test2.appendComponent(new PageComponentText(new TextComponentString("what's up bud"))); - test2.appendComponent(new PageComponentItem(new ItemStack(Items.DIAMOND))); - test2.appendComponent(new PageComponentFiller()); - })); - - category.addEntry(new Entry("test_entry_3", test3 -> { - test3.appendComponent(new PageComponentFiller()); - test3.appendComponent(new PageComponentFiller()); - })); - }); - })); - } - - @SubscribeEvent - public static void registerItems(RegistryEvent.Register event) { - for (Guide guide : GUIDES) - event.getRegistry().register(new ItemGuide(guide)); - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/test/ItemGuide.java b/src/main/java/com/wayoftime/bloodmagic/guide/test/ItemGuide.java deleted file mode 100644 index 1f035c97..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/test/ItemGuide.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.wayoftime.bloodmagic.guide.test; - -import com.wayoftime.bloodmagic.guide.Guide; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; - -public class ItemGuide extends Item { - - public ItemGuide(Guide guide) { - setRegistryName(guide.getId().toString().replace(":", "_")); - setTranslationKey(guide.getId().toString()); - setMaxStackSize(1); - setCreativeTab(CreativeTabs.MISC); - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/test/gui/Bookmark.java b/src/main/java/com/wayoftime/bloodmagic/guide/test/gui/Bookmark.java deleted file mode 100644 index 3d976cf1..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/test/gui/Bookmark.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.wayoftime.bloodmagic.guide.test.gui; - -import com.wayoftime.bloodmagic.guide.Category; -import com.wayoftime.bloodmagic.guide.Entry; - -public class Bookmark { - - private Category category; - private Entry entry; - - public Bookmark atPosition(Category category, Entry entry) { - this.category = category; - return this; - } - - public Category getCategory() { - return category; - } - - public Entry getEntry() { - return entry; - } -} diff --git a/src/main/java/com/wayoftime/bloodmagic/guide/test/gui/GuiGuide.java b/src/main/java/com/wayoftime/bloodmagic/guide/test/gui/GuiGuide.java deleted file mode 100644 index 751a3f15..00000000 --- a/src/main/java/com/wayoftime/bloodmagic/guide/test/gui/GuiGuide.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.wayoftime.bloodmagic.guide.test.gui; - -import com.google.common.collect.Maps; -import com.wayoftime.bloodmagic.guide.Guide; -import net.minecraft.client.gui.GuiScreen; - -import java.util.Map; - -public class GuiGuide extends GuiScreen { - - private static final Map SCREENS = Maps.newHashMap(); - - private final Guide guide; - private final Bookmark bookmark; - - public GuiGuide(Guide guide) { - this.guide = guide; - this.bookmark = new Bookmark(); - } - - @Override - public void drawScreen(int mouseX, int mouseY, float partialTicks) { - super.drawScreen(mouseX, mouseY, partialTicks); - } - - @Override - public void onGuiClosed() { - // TODO update bookmark - super.onGuiClosed(); - } - - public static GuiGuide getGui(Guide guide) { - return SCREENS.compute(guide, (k, v) -> v == null ? new GuiGuide(guide) : v); - } -}