aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/kubatech/CommonProxy.java3
-rw-r--r--src/main/java/kubatech/api/ConstructableItemStack.java19
-rw-r--r--src/main/java/kubatech/api/enums/ItemList.java16
-rw-r--r--src/main/java/kubatech/api/mobhandler/MobDrop.java19
-rw-r--r--src/main/java/kubatech/api/network/CustomTileEntityPacket.java19
-rw-r--r--src/main/java/kubatech/api/tileentity/CustomTileEntityPacketHandler.java19
-rw-r--r--src/main/java/kubatech/api/utils/FastRandom.java19
-rw-r--r--src/main/java/kubatech/api/utils/GSONUtils.java19
-rw-r--r--src/main/java/kubatech/api/utils/ItemID.java19
-rw-r--r--src/main/java/kubatech/api/utils/MobUtils.java19
-rw-r--r--src/main/java/kubatech/commands/CommandHelp.java3
-rw-r--r--src/main/java/kubatech/config/OverridesConfig.java24
-rw-r--r--src/main/java/kubatech/kubatech.java24
-rw-r--r--src/main/java/kubatech/loaders/ItemLoader.java48
-rw-r--r--src/main/java/kubatech/loaders/item/ItemProxy.java84
-rw-r--r--src/main/java/kubatech/loaders/item/KubaItems.java145
-rw-r--r--src/main/java/kubatech/loaders/item/items/Tea.java193
-rw-r--r--src/main/java/kubatech/loaders/item/items/TeaUltimate.java67
-rw-r--r--src/main/java/kubatech/mixin/Mixin.java2
-rw-r--r--src/main/java/kubatech/mixin/MixinPlugin.java2
-rw-r--r--src/main/java/kubatech/nei/Mob_Handler.java4
-rw-r--r--src/main/java/kubatech/nei/NEI_Config.java16
-rw-r--r--src/main/resources/assets/kubatech/lang/en_US.lang49
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/black_tea.pngbin0 -> 7523 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/black_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/butterfly_tea.pngbin0 -> 7476 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/butterfly_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/earl_gray_tea.pngbin0 -> 7207 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/earl_gray_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/green_tea.pngbin0 -> 7341 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/green_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/lemon_tea.pngbin0 -> 7296 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/lemon_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/milk_tea.pngbin0 -> 7276 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/milk_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/oolong_tea.pngbin0 -> 7570 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/oolong_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/peppermint_tea.pngbin0 -> 7153 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/peppermint_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/pu-erh_tea.pngbin0 -> 7138 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/pu-erh_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/red_tea.pngbin0 -> 7655 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/red_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/ultimate_tea.pngbin0 -> 2331 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/ultimate_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/white_tea.pngbin0 -> 7112 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/white_tea.png.mcmeta5
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/yellow_tea.pngbin0 -> 7830 bytes
-rw-r--r--src/main/resources/assets/kubatech/textures/items/teacollection/yellow_tea.png.mcmeta5
49 files changed, 891 insertions, 6 deletions
diff --git a/src/main/java/kubatech/CommonProxy.java b/src/main/java/kubatech/CommonProxy.java
index db752f9fa0..6f9a187cc2 100644
--- a/src/main/java/kubatech/CommonProxy.java
+++ b/src/main/java/kubatech/CommonProxy.java
@@ -19,6 +19,8 @@
package kubatech;
+import static kubatech.loaders.ItemLoader.RegisterItems;
+
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.event.*;
import kubatech.commands.CommandConfig;
@@ -36,6 +38,7 @@ public class CommonProxy {
Config.synchronizeConfiguration();
RecipeLoader.addRecipes();
FMLCommonHandler.instance().bus().register(new FMLEventHandler());
+ RegisterItems();
}
public void init(FMLInitializationEvent event) {}
diff --git a/src/main/java/kubatech/api/ConstructableItemStack.java b/src/main/java/kubatech/api/ConstructableItemStack.java
index 668d21d803..728e7299cd 100644
--- a/src/main/java/kubatech/api/ConstructableItemStack.java
+++ b/src/main/java/kubatech/api/ConstructableItemStack.java
@@ -1,3 +1,22 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
package kubatech.api;
import cpw.mods.fml.common.registry.GameRegistry;
diff --git a/src/main/java/kubatech/api/enums/ItemList.java b/src/main/java/kubatech/api/enums/ItemList.java
index b0cf3289b6..270faf39cc 100644
--- a/src/main/java/kubatech/api/enums/ItemList.java
+++ b/src/main/java/kubatech/api/enums/ItemList.java
@@ -14,7 +14,21 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public enum ItemList implements IItemContainer {
- ExtremeExterminationChamber;
+ ExtremeExterminationChamber,
+ BlackTea,
+ ButterflyTea,
+ EarlGrayTea,
+ GreenTea,
+ LemonTea,
+ MilkTea,
+ OolongTea,
+ PeppermintTea,
+ PuerhTea,
+ RedTea,
+ WhiteTea,
+ YellowTea,
+ UltimateTea,
+ ;
private ItemStack mStack;
private boolean mHasNotBeenSet = true;
diff --git a/src/main/java/kubatech/api/mobhandler/MobDrop.java b/src/main/java/kubatech/api/mobhandler/MobDrop.java
index 76942b3148..247c73a2be 100644
--- a/src/main/java/kubatech/api/mobhandler/MobDrop.java
+++ b/src/main/java/kubatech/api/mobhandler/MobDrop.java
@@ -1,3 +1,22 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
package kubatech.api.mobhandler;
import io.netty.buffer.ByteBuf;
diff --git a/src/main/java/kubatech/api/network/CustomTileEntityPacket.java b/src/main/java/kubatech/api/network/CustomTileEntityPacket.java
index cd7bfd3389..9a3df765d2 100644
--- a/src/main/java/kubatech/api/network/CustomTileEntityPacket.java
+++ b/src/main/java/kubatech/api/network/CustomTileEntityPacket.java
@@ -1,3 +1,22 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
package kubatech.api.network;
import cpw.mods.fml.common.network.NetworkRegistry;
diff --git a/src/main/java/kubatech/api/tileentity/CustomTileEntityPacketHandler.java b/src/main/java/kubatech/api/tileentity/CustomTileEntityPacketHandler.java
index 643ca70d0f..4208ea92fe 100644
--- a/src/main/java/kubatech/api/tileentity/CustomTileEntityPacketHandler.java
+++ b/src/main/java/kubatech/api/tileentity/CustomTileEntityPacketHandler.java
@@ -1,3 +1,22 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
package kubatech.api.tileentity;
import kubatech.api.network.CustomTileEntityPacket;
diff --git a/src/main/java/kubatech/api/utils/FastRandom.java b/src/main/java/kubatech/api/utils/FastRandom.java
index c0fb1ec9d5..0927dee6c0 100644
--- a/src/main/java/kubatech/api/utils/FastRandom.java
+++ b/src/main/java/kubatech/api/utils/FastRandom.java
@@ -1,3 +1,22 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
package kubatech.api.utils;
import java.util.Random;
diff --git a/src/main/java/kubatech/api/utils/GSONUtils.java b/src/main/java/kubatech/api/utils/GSONUtils.java
index 90f777000c..2936aee2b2 100644
--- a/src/main/java/kubatech/api/utils/GSONUtils.java
+++ b/src/main/java/kubatech/api/utils/GSONUtils.java
@@ -1,3 +1,22 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
package kubatech.api.utils;
import com.google.gson.*;
diff --git a/src/main/java/kubatech/api/utils/ItemID.java b/src/main/java/kubatech/api/utils/ItemID.java
index 932c45a0f9..a452021bad 100644
--- a/src/main/java/kubatech/api/utils/ItemID.java
+++ b/src/main/java/kubatech/api/utils/ItemID.java
@@ -1,3 +1,22 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
package kubatech.api.utils;
import java.util.Objects;
diff --git a/src/main/java/kubatech/api/utils/MobUtils.java b/src/main/java/kubatech/api/utils/MobUtils.java
index 0b20364484..a82b336190 100644
--- a/src/main/java/kubatech/api/utils/MobUtils.java
+++ b/src/main/java/kubatech/api/utils/MobUtils.java
@@ -1,3 +1,22 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
package kubatech.api.utils;
import cpw.mods.fml.relauncher.Side;
diff --git a/src/main/java/kubatech/commands/CommandHelp.java b/src/main/java/kubatech/commands/CommandHelp.java
index dba8ab622d..8f9c19c42e 100644
--- a/src/main/java/kubatech/commands/CommandHelp.java
+++ b/src/main/java/kubatech/commands/CommandHelp.java
@@ -19,7 +19,8 @@
package kubatech.commands;
-import static kubatech.commands.CommandHelp.Translations.*;
+import static kubatech.commands.CommandHelp.Translations.POSSIBLE_COMMANDS;
+import static kubatech.commands.CommandHelp.Translations.USAGE;
import net.minecraft.command.CommandBase;
import net.minecraft.command.ICommandSender;
diff --git a/src/main/java/kubatech/config/OverridesConfig.java b/src/main/java/kubatech/config/OverridesConfig.java
index 0ea7a318f7..7d149fef81 100644
--- a/src/main/java/kubatech/config/OverridesConfig.java
+++ b/src/main/java/kubatech/config/OverridesConfig.java
@@ -1,3 +1,22 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
package kubatech.config;
import com.dreammaster.main.MainRegistry;
@@ -12,7 +31,10 @@ import java.io.File;
import java.io.Reader;
import java.io.Writer;
import java.nio.charset.StandardCharsets;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import kubatech.Tags;
import kubatech.api.ConstructableItemStack;
import kubatech.api.LoaderReference;
diff --git a/src/main/java/kubatech/kubatech.java b/src/main/java/kubatech/kubatech.java
index 6973c281b4..6a19eb3721 100644
--- a/src/main/java/kubatech/kubatech.java
+++ b/src/main/java/kubatech/kubatech.java
@@ -19,6 +19,8 @@
package kubatech;
+import static kubatech.api.enums.ItemList.RedTea;
+
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.*;
@@ -26,6 +28,9 @@ import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import cpw.mods.fml.relauncher.Side;
import kubatech.api.network.CustomTileEntityPacket;
import kubatech.api.network.LoadConfigPacket;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -42,6 +47,25 @@ public class kubatech {
public static kubatech instance = null;
public static final SimpleNetworkWrapper NETWORK = new SimpleNetworkWrapper(Tags.MODID);
+ public static final CreativeTabs KT = new CreativeTabs(Tags.MODID) {
+ private ItemStack iconItemStack = null;
+
+ @Override
+ public ItemStack getIconItemStack() {
+ if (iconItemStack == null) iconItemStack = RedTea.get(1);
+ return iconItemStack;
+ }
+
+ @Override
+ public Item getTabIconItem() {
+ return null;
+ }
+
+ @Override
+ public String getTranslatedTabLabel() {
+ return Tags.MODNAME;
+ }
+ };
static {
NETWORK.registerMessage(new LoadConfigPacket.Handler(), LoadConfigPacket.class, 0, Side.CLIENT);
diff --git a/src/main/java/kubatech/loaders/ItemLoader.java b/src/main/java/kubatech/loaders/ItemLoader.java
new file mode 100644
index 0000000000..940f5274f9
--- /dev/null
+++ b/src/main/java/kubatech/loaders/ItemLoader.java
@@ -0,0 +1,48 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+package kubatech.loaders;
+
+import static kubatech.api.enums.ItemList.*;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import kubatech.loaders.item.KubaItems;
+import kubatech.loaders.item.items.Tea;
+import kubatech.loaders.item.items.TeaUltimate;
+
+public class ItemLoader {
+ public static final KubaItems kubaitems = new KubaItems();
+
+ public static void RegisterItems() {
+ GameRegistry.registerItem(kubaitems, "kubaitems");
+ BlackTea.set(kubaitems.registerProxyItem(new Tea("black_tea")));
+ ButterflyTea.set(kubaitems.registerProxyItem(new Tea("butterfly_tea")));
+ EarlGrayTea.set(kubaitems.registerProxyItem(new Tea("earl_gray_tea")));
+ GreenTea.set(kubaitems.registerProxyItem(new Tea("green_tea")));
+ LemonTea.set(kubaitems.registerProxyItem(new Tea("lemon_tea")));
+ MilkTea.set(kubaitems.registerProxyItem(new Tea("milk_tea")));
+ OolongTea.set(kubaitems.registerProxyItem(new Tea("oolong_tea")));
+ PeppermintTea.set(kubaitems.registerProxyItem(new Tea("peppermint_tea")));
+ PuerhTea.set(kubaitems.registerProxyItem(new Tea("pu-erh_tea")));
+ RedTea.set(kubaitems.registerProxyItem(new Tea("red_tea")));
+ WhiteTea.set(kubaitems.registerProxyItem(new Tea("white_tea")));
+ YellowTea.set(kubaitems.registerProxyItem(new Tea("yellow_tea")));
+ UltimateTea.set(kubaitems.registerProxyItem(new TeaUltimate()));
+ }
+}
diff --git a/src/main/java/kubatech/loaders/item/ItemProxy.java b/src/main/java/kubatech/loaders/item/ItemProxy.java
new file mode 100644
index 0000000000..67491a0ba8
--- /dev/null
+++ b/src/main/java/kubatech/loaders/item/ItemProxy.java
@@ -0,0 +1,84 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+package kubatech.loaders.item;
+
+import java.util.List;
+import kubatech.Tags;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.EnumAction;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.World;
+
+public class ItemProxy {
+ private final String unlocalizedName;
+ private final String texturepath;
+ private IIcon icon;
+ private int itemID;
+
+ public ItemProxy(String unlocalizedName, String texture) {
+ this.unlocalizedName = "item.kubaitem." + unlocalizedName;
+ texturepath = Tags.MODID + ":" + texture;
+ }
+
+ public void ItemInit(int index) {
+ itemID = index;
+ }
+
+ public String getUnlocalizedName() {
+ return unlocalizedName;
+ }
+
+ public String getDisplayName(ItemStack stack) {
+ return StatCollector.translateToLocal(this.unlocalizedName + ".name").trim();
+ }
+
+ public void registerIcon(IIconRegister iconRegister) {
+ icon = iconRegister.registerIcon(texturepath);
+ }
+
+ public IIcon getIcon() {
+ return icon;
+ }
+
+ public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List p_77624_3_, boolean p_77624_4_) {}
+
+ public void onUpdate(
+ ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, boolean p_77663_5_) {}
+
+ public EnumAction getItemUseAction(ItemStack p_77661_1_) {
+ return EnumAction.none;
+ }
+
+ public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
+ return p_77659_1_;
+ }
+
+ public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) {
+ return p_77654_1_;
+ }
+
+ public int getMaxItemUseDuration() {
+ return 0;
+ }
+}
diff --git a/src/main/java/kubatech/loaders/item/KubaItems.java b/src/main/java/kubatech/loaders/item/KubaItems.java
new file mode 100644
index 0000000000..fdc38ec0ba
--- /dev/null
+++ b/src/main/java/kubatech/loaders/item/KubaItems.java
@@ -0,0 +1,145 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+package kubatech.loaders.item;
+
+import static kubatech.kubatech.KT;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import java.util.HashMap;
+import java.util.List;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.EnumAction;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+public class KubaItems extends Item {
+ private static final HashMap<Integer, ItemProxy> items = new HashMap<>();
+ private static int idCounter = 0;
+
+ public KubaItems() {
+ this.setMaxDamage(0);
+ this.setHasSubtypes(true);
+ this.setCreativeTab(KT);
+ this.setUnlocalizedName("kubaitems");
+ }
+
+ public ItemStack registerProxyItem(ItemProxy item) {
+ items.put(idCounter, item);
+ item.ItemInit(idCounter);
+ return new ItemStack(this, 1, idCounter++);
+ }
+
+ private ItemProxy getItem(ItemStack stack) {
+ return items.get(stack.getItemDamage());
+ }
+
+ private ItemProxy getItem(int damage) {
+ return items.get(damage);
+ }
+
+ @Override
+ public boolean onItemUse(
+ ItemStack p_77648_1_,
+ EntityPlayer p_77648_2_,
+ World p_77648_3_,
+ int p_77648_4_,
+ int p_77648_5_,
+ int p_77648_6_,
+ int p_77648_7_,
+ float p_77648_8_,
+ float p_77648_9_,
+ float p_77648_10_) {
+ return false;
+ }
+
+ @Override
+ public EnumAction getItemUseAction(ItemStack p_77661_1_) {
+ return getItem(p_77661_1_).getItemUseAction(p_77661_1_);
+ }
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
+ return getItem(p_77659_1_).onItemRightClick(p_77659_1_, p_77659_2_, p_77659_3_);
+ }
+
+ @Override
+ public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) {
+ return getItem(p_77654_1_).onEaten(p_77654_1_, p_77654_2_, p_77654_3_);
+ }
+
+ @Override
+ public int getMaxItemUseDuration(ItemStack p_77626_1_) {
+ return getItem(p_77626_1_).getMaxItemUseDuration();
+ }
+
+ @Override
+ public int getMetadata(int p_77647_1_) {
+ return p_77647_1_;
+ }
+
+ @Override
+ public String getUnlocalizedName() {
+ return super.getUnlocalizedName();
+ }
+
+ @Override
+ public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List p_77624_3_, boolean p_77624_4_) {
+ getItem(p_77624_1_).addInformation(p_77624_1_, p_77624_2_, p_77624_3_, p_77624_4_);
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack p_77667_1_) {
+ return getItem(p_77667_1_).getUnlocalizedName();
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack p_77653_1_) {
+ return getItem(p_77653_1_).getDisplayName(p_77653_1_);
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public void registerIcons(IIconRegister p_94581_1_) {
+ items.values().forEach(t -> t.registerIcon(p_94581_1_));
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public IIcon getIconFromDamage(int damage) {
+ return getItem(damage).getIcon();
+ }
+
+ @Override
+ public void getSubItems(Item p_150895_1_, CreativeTabs p_150895_2_, List p_150895_3_) {
+ for (int i = 0; i < items.size(); i++) p_150895_3_.add(new ItemStack(p_150895_1_, 1, i));
+ }
+
+ @Override
+ public void onUpdate(
+ ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, boolean p_77663_5_) {
+ getItem(p_77663_1_).onUpdate(p_77663_1_, p_77663_2_, p_77663_3_, p_77663_4_, p_77663_5_);
+ }
+}
diff --git a/src/main/java/kubatech/loaders/item/items/Tea.java b/src/main/java/kubatech/loaders/item/items/Tea.java
new file mode 100644
index 0000000000..d9f39bc06f
--- /dev/null
+++ b/src/main/java/kubatech/loaders/item/items/Tea.java
@@ -0,0 +1,193 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+package kubatech.loaders.item.items;
+
+import java.util.LinkedList;
+import java.util.List;
+import kubatech.api.utils.ModUtils;
+import kubatech.loaders.ItemLoader;
+import kubatech.loaders.item.ItemProxy;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.entity.EntityClientPlayerMP;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.EnumAction;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.stats.Achievement;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.World;
+import net.minecraftforge.common.AchievementPage;
+
+public class Tea extends ItemProxy {
+ protected static TeaPage teapage;
+ protected static LinkedList<Achievement> achievements;
+ protected Achievement achievement;
+ private final String achievementname;
+
+ public Tea(String unlocalizedName) {
+ super("teacollection." + unlocalizedName, "teacollection/" + unlocalizedName);
+ achievementname = "teacollection." + unlocalizedName;
+ }
+
+ private static final int[][] achievement_poses = new int[][] {
+ {0, 0},
+ {2, 0},
+ {3, 1},
+ {4, 2},
+ {4, 4},
+ {3, 5},
+ {2, 6},
+ {0, 6},
+ {-1, 5},
+ {-2, 4},
+ {-2, 2},
+ {-1, 1},
+ {1, 3}
+ };
+
+ @Override
+ public void ItemInit(int index) {
+ super.ItemInit(index);
+ if (teapage == null) {
+ teapage = new TeaPage();
+ AchievementPage.registerAchievementPage(teapage);
+ achievements = teapage.getAchievementsOriginal();
+ }
+ achievements.add(
+ achievement = new Achievement(
+ achievementname,
+ achievementname,
+ achievement_poses[index][0],
+ achievement_poses[index][1],
+ new ItemStack(ItemLoader.kubaitems, 1, index),
+ null)
+ .registerStat());
+ }
+
+ @Override
+ public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List p_77624_3_, boolean p_77624_4_) {
+ if (p_77624_1_.stackTagCompound != null
+ && p_77624_1_.stackTagCompound.hasKey("TeaOwner")
+ && !p_77624_1_
+ .stackTagCompound
+ .getString("TeaOwner")
+ .equals(p_77624_2_.getUniqueID().toString())) {
+ p_77624_3_.add(EnumChatFormatting.GRAY + "" + EnumChatFormatting.BOLD + "" + EnumChatFormatting.ITALIC
+ + StatCollector.translateToLocal("item.notyours"));
+ return;
+ }
+ p_77624_3_.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("item.fromcollection"));
+ p_77624_3_.add(EnumChatFormatting.GRAY + "" + EnumChatFormatting.BOLD + "" + EnumChatFormatting.ITALIC + ""
+ + EnumChatFormatting.UNDERLINE + StatCollector.translateToLocal("item.teacollection"));
+ }
+
+ @Override
+ public EnumAction getItemUseAction(ItemStack p_77661_1_) {
+ return EnumAction.drink;
+ }
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
+ if (p_77659_1_.stackTagCompound == null || !p_77659_1_.stackTagCompound.hasKey("TeaOwner")) return p_77659_1_;
+ if (!p_77659_1_
+ .stackTagCompound
+ .getString("TeaOwner")
+ .equals(p_77659_3_.getUniqueID().toString())) return p_77659_1_;
+ p_77659_3_.setItemInUse(p_77659_1_, 32);
+ return p_77659_1_;
+ }
+
+ @Override
+ public ItemStack onEaten(ItemStack stack, World p_77654_2_, EntityPlayer p_77654_3_) {
+ if (p_77654_2_.isRemote) return stack;
+ if (!(p_77654_3_ instanceof EntityPlayerMP)) return stack;
+ if (stack.stackTagCompound == null || !stack.stackTagCompound.hasKey("TeaOwner")) return stack;
+ if (!stack.stackTagCompound
+ .getString("TeaOwner")
+ .equals(p_77654_3_.getUniqueID().toString())) return stack;
+ p_77654_3_.addChatComponentMessage(new ChatComponentText(
+ EnumChatFormatting.GREEN + StatCollector.translateToLocal("item.teacollection.mmm")));
+ p_77654_3_.triggerAchievement(achievement);
+ return stack;
+ }
+
+ @Override
+ public int getMaxItemUseDuration() {
+ return 32;
+ }
+
+ @Override
+ public String getDisplayName(ItemStack stack) {
+ if (!ModUtils.isClientSided) return super.getDisplayName(stack);
+ if (stack.stackTagCompound == null
+ || (!stack.stackTagCompound.hasKey("TeaOwner")
+ || stack.stackTagCompound
+ .getString("TeaOwner")
+ .equals(Minecraft.getMinecraft()
+ .thePlayer
+ .getUniqueID()
+ .toString()))) return super.getDisplayName(stack);
+ return EnumChatFormatting.GOLD + "" + EnumChatFormatting.BOLD + "" + EnumChatFormatting.ITALIC + "???????";
+ }
+
+ @Override
+ public void onUpdate(
+ ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, boolean p_77663_5_) {
+ if (p_77663_2_.isRemote) return;
+ if (!(p_77663_3_ instanceof EntityPlayerMP)) return;
+ NBTTagCompound tag = p_77663_1_.stackTagCompound;
+ if (tag == null) tag = p_77663_1_.stackTagCompound = new NBTTagCompound();
+ if (tag.hasKey("display")) tag.removeTag("display");
+ if (tag.hasKey("TeaOwner")) return;
+ tag.setString("TeaOwner", p_77663_3_.getPersistentID().toString());
+ }
+
+ private static class TeaPage extends AchievementPage {
+
+ public TeaPage() {
+ super("Tea");
+ }
+
+ LinkedList<Achievement> unlockedAchievements = new LinkedList<>();
+
+ @Override
+ public List<Achievement> getAchievements() {
+ if (!ModUtils.isClientSided) return super.getAchievements();
+
+ if (new Throwable().getStackTrace()[1].getMethodName().equals("isAchievementInPages"))
+ return super.getAchievements(); // 5HEAD FIX
+
+ EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
+ unlockedAchievements.clear();
+ for (Achievement achievement : achievements)
+ if (player.getStatFileWriter().hasAchievementUnlocked(achievement))
+ unlockedAchievements.add(achievement);
+ return unlockedAchievements;
+ }
+
+ private LinkedList<Achievement> getAchievementsOriginal() {
+ return (LinkedList<Achievement>) super.getAchievements();
+ }
+ }
+}
diff --git a/src/main/java/kubatech/loaders/item/items/TeaUltimate.java b/src/main/java/kubatech/loaders/item/items/TeaUltimate.java
new file mode 100644
index 0000000000..879d3117ad
--- /dev/null
+++ b/src/main/java/kubatech/loaders/item/items/TeaUltimate.java
@@ -0,0 +1,67 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+package kubatech.loaders.item.items;
+
+import java.util.Random;
+import kubatech.api.utils.FastRandom;
+import kubatech.api.utils.ModUtils;
+import net.minecraft.client.Minecraft;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+public class TeaUltimate extends Tea {
+ public TeaUltimate() {
+ super("ultimate_tea");
+ }
+
+ private static final String[] Colors = new String[] {
+ "\u00a70", "\u00a71", "\u00a72", "\u00a73", "\u00a74", "\u00a75", "\u00a76", "\u00a77", "\u00a78", "\u00a79",
+ "\u00a7a", "\u00a7b", "\u00a7c", "\u00a7d", "\u00a7e", "\u00a7f",
+ };
+ private static final Random rnd = new FastRandom();
+ private static String name = "";
+ private static long timeCounter = 0;
+
+ private static String rndColor() {
+ return Colors[rnd.nextInt(Colors.length)] + EnumChatFormatting.BOLD + "" + EnumChatFormatting.OBFUSCATED;
+ }
+
+ @Override
+ public String getDisplayName(ItemStack stack) {
+ if (!ModUtils.isClientSided) return super.getDisplayName(stack);
+ if (stack.stackTagCompound == null
+ || (!stack.stackTagCompound.hasKey("TeaOwner")
+ || stack.stackTagCompound
+ .getString("TeaOwner")
+ .equals(Minecraft.getMinecraft()
+ .thePlayer
+ .getUniqueID()
+ .toString()))) {
+ long current = System.currentTimeMillis();
+ if (current - timeCounter > 200) {
+ timeCounter = current;
+ name = rndColor() + "U" + rndColor() + "L" + rndColor() + "T" + rndColor() + "I" + rndColor() + "M"
+ + rndColor() + "A" + rndColor() + "T" + rndColor() + "E";
+ }
+ return String.format(super.getDisplayName(stack), name + EnumChatFormatting.RESET);
+ }
+ return EnumChatFormatting.GOLD + "" + EnumChatFormatting.BOLD + "" + EnumChatFormatting.ITALIC + "???????";
+ }
+}
diff --git a/src/main/java/kubatech/mixin/Mixin.java b/src/main/java/kubatech/mixin/Mixin.java
index 49332457ca..01bb73089a 100644
--- a/src/main/java/kubatech/mixin/Mixin.java
+++ b/src/main/java/kubatech/mixin/Mixin.java
@@ -1,6 +1,6 @@
package kubatech.mixin;
-import static kubatech.mixin.TargetedMod.*;
+import static kubatech.mixin.TargetedMod.VANILLA;
import cpw.mods.fml.relauncher.FMLLaunchHandler;
import java.util.Arrays;
diff --git a/src/main/java/kubatech/mixin/MixinPlugin.java b/src/main/java/kubatech/mixin/MixinPlugin.java
index 66bbf9ccef..1afe7cdd6f 100644
--- a/src/main/java/kubatech/mixin/MixinPlugin.java
+++ b/src/main/java/kubatech/mixin/MixinPlugin.java
@@ -1,7 +1,7 @@
package kubatech.mixin;
import static java.nio.file.Files.walk;
-import static kubatech.mixin.TargetedMod.*;
+import static kubatech.mixin.TargetedMod.VANILLA;
import java.io.File;
import java.io.FileNotFoundException;
diff --git a/src/main/java/kubatech/nei/Mob_Handler.java b/src/main/java/kubatech/nei/Mob_Handler.java
index 36fbb97231..86c6e720b3 100644
--- a/src/main/java/kubatech/nei/Mob_Handler.java
+++ b/src/main/java/kubatech/nei/Mob_Handler.java
@@ -33,8 +33,10 @@ import gregtech.api.util.GT_Utility;
import java.awt.*;
import java.lang.reflect.Field;
import java.nio.FloatBuffer;
-import java.util.*;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
+import java.util.Random;
import kubatech.api.LoaderReference;
import kubatech.api.mobhandler.MobDrop;
import kubatech.api.utils.FastRandom;
diff --git a/src/main/java/kubatech/nei/NEI_Config.java b/src/main/java/kubatech/nei/NEI_Config.java
index a5bf1f58ca..1d0e51ddeb 100644
--- a/src/main/java/kubatech/nei/NEI_Config.java
+++ b/src/main/java/kubatech/nei/NEI_Config.java
@@ -19,6 +19,9 @@
package kubatech.nei;
+import static kubatech.api.enums.ItemList.*;
+
+import codechicken.nei.api.API;
import codechicken.nei.api.IConfigureNEI;
import kubatech.Tags;
@@ -30,6 +33,19 @@ public class NEI_Config implements IConfigureNEI {
isAdded = false;
new Mob_Handler();
isAdded = true;
+ API.hideItem(BlackTea.get(1));
+ API.hideItem(ButterflyTea.get(1));
+ API.hideItem(EarlGrayTea.get(1));
+ API.hideItem(GreenTea.get(1));
+ API.hideItem(LemonTea.get(1));
+ API.hideItem(MilkTea.get(1));
+ API.hideItem(OolongTea.get(1));
+ API.hideItem(PeppermintTea.get(1));
+ API.hideItem(PuerhTea.get(1));
+ API.hideItem(RedTea.get(1));
+ API.hideItem(WhiteTea.get(1));
+ API.hideItem(YellowTea.get(1));
+ API.hideItem(UltimateTea.get(1));
}
@Override
diff --git a/src/main/resources/assets/kubatech/lang/en_US.lang b/src/main/resources/assets/kubatech/lang/en_US.lang
index c5a1658798..e3a37741a8 100644
--- a/src/main/resources/assets/kubatech/lang/en_US.lang
+++ b/src/main/resources/assets/kubatech/lang/en_US.lang
@@ -25,3 +25,52 @@ command.help.usage=- Shows all possible commands
command.config.invalid_option=§cInvalid option ! Possible options: reload
command.config.success=§aConfig reloaded successfully !
command.config.usage=<option>
+
+#Items
+item.fromcollection=This item is from
+item.notyours=It looks like that item is not yours
+#Tea collection
+item.teacollection=Turbo Legendary Secret Tea Collection
+item.teacollection.mmm=Mmmm Tea
+item.kubaitem.teacollection.black_tea.name=§6§lKuba's Black Tea
+item.kubaitem.teacollection.butterfly_tea.name=§1§lKuba's Butterfly Pea Tea
+item.kubaitem.teacollection.earl_gray_tea.name=§6§lKuba's Earl Gray Tea
+item.kubaitem.teacollection.green_tea.name=§2§lKuba's Green Tea
+item.kubaitem.teacollection.lemon_tea.name=§e§lKuba's Lemon Tea
+item.kubaitem.teacollection.milk_tea.name=§f§lKuba's Milk Tea
+item.kubaitem.teacollection.oolong_tea.name=§e§lKuba's Oolong Tea
+item.kubaitem.teacollection.peppermint_tea.name=§a§lKuba's Peppermint Tea
+item.kubaitem.teacollection.pu-erh_tea.name=§4§lKuba's Pu-erh Tea
+item.kubaitem.teacollection.red_tea.name=§c§lKuba's Hibiscus Tea
+item.kubaitem.teacollection.white_tea.name=§e§lKuba's White Tea
+item.kubaitem.teacollection.yellow_tea.name=§6§lKuba's Yellow Tea
+item.kubaitem.teacollection.ultimate_tea.name=§6§lKuba's %s §6§lTea
+
+#Achievements
+achievement.teacollection.black_tea=§6§lKuba's Black Tea
+achievement.teacollection.butterfly_tea=§1§lKuba's Butterfly Pea Tea
+achievement.teacollection.earl_gray_tea=§6§lKuba's Earl Gray Tea
+achievement.teacollection.green_tea=§2§lKuba's Green Tea
+achievement.teacollection.lemon_tea=§e§lKuba's Lemon Tea
+achievement.teacollection.milk_tea=§f§lKuba's Milk Tea
+achievement.teacollection.oolong_tea=§e§lKuba's Oolong Tea
+achievement.teacollection.peppermint_tea=§a§lKuba's Peppermint Tea
+achievement.teacollection.pu-erh_tea=§4§lKuba's Pu-erh Tea
+achievement.teacollection.red_tea=§c§lKuba's Hibiscus Tea
+achievement.teacollection.white_tea=§e§lKuba's White Tea
+achievement.teacollection.yellow_tea=§6§lKuba's Yellow Tea
+achievement.teacollection.ultimate_tea=§4§l§k??????
+
+achievement.teacollection.black_tea.desc=§6The most common and popular type of Tea
+achievement.teacollection.butterfly_tea.desc=§1Not even Tea
+achievement.teacollection.earl_gray_tea.desc=§6For the true Brits
+achievement.teacollection.green_tea.desc=§2Based
+achievement.teacollection.lemon_tea.desc=§eBlack Tea with lemon, what did You expect ?
+achievement.teacollection.milk_tea.desc=§fBlack Tea with milk, my favourite
+achievement.teacollection.oolong_tea.desc=§e對於真正的鑑賞家
+achievement.teacollection.peppermint_tea.desc=§aGood for stomach ache
+achievement.teacollection.pu-erh_tea.desc=§4Good for digestion, also tastes like dirt
+achievement.teacollection.red_tea.desc=§cWhy would anyone drink this ?
+achievement.teacollection.white_tea.desc=§eThe healthiest one
+achievement.teacollection.yellow_tea.desc=§6Green Tea with more grassy flavour
+achievement.teacollection.ultimate_tea.desc=§4§lOne Tea to drink them all
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/black_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/black_tea.png
new file mode 100644
index 0000000000..d61ed9ce42
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/black_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/black_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/black_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/black_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/butterfly_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/butterfly_tea.png
new file mode 100644
index 0000000000..6a660d3b48
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/butterfly_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/butterfly_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/butterfly_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/butterfly_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/earl_gray_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/earl_gray_tea.png
new file mode 100644
index 0000000000..0cc29a7906
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/earl_gray_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/earl_gray_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/earl_gray_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/earl_gray_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/green_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/green_tea.png
new file mode 100644
index 0000000000..d6e11f55fb
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/green_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/green_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/green_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/green_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/lemon_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/lemon_tea.png
new file mode 100644
index 0000000000..8d29fe1bcb
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/lemon_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/lemon_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/lemon_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/lemon_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/milk_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/milk_tea.png
new file mode 100644
index 0000000000..0617bca1ad
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/milk_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/milk_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/milk_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/milk_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/oolong_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/oolong_tea.png
new file mode 100644
index 0000000000..565300f5a3
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/oolong_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/oolong_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/oolong_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/oolong_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/peppermint_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/peppermint_tea.png
new file mode 100644
index 0000000000..d928b02b5e
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/peppermint_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/peppermint_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/peppermint_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/peppermint_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/pu-erh_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/pu-erh_tea.png
new file mode 100644
index 0000000000..3cf74bba87
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/pu-erh_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/pu-erh_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/pu-erh_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/pu-erh_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/red_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/red_tea.png
new file mode 100644
index 0000000000..37f64ea87a
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/red_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/red_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/red_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/red_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/ultimate_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/ultimate_tea.png
new file mode 100644
index 0000000000..2b6c574155
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/ultimate_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/ultimate_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/ultimate_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/ultimate_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/white_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/white_tea.png
new file mode 100644
index 0000000000..8ab73fb035
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/white_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/white_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/white_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/white_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/yellow_tea.png b/src/main/resources/assets/kubatech/textures/items/teacollection/yellow_tea.png
new file mode 100644
index 0000000000..d5e101e98c
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/yellow_tea.png
Binary files differ
diff --git a/src/main/resources/assets/kubatech/textures/items/teacollection/yellow_tea.png.mcmeta b/src/main/resources/assets/kubatech/textures/items/teacollection/yellow_tea.png.mcmeta
new file mode 100644
index 0000000000..60af678259
--- /dev/null
+++ b/src/main/resources/assets/kubatech/textures/items/teacollection/yellow_tea.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":4
+ }
+} \ No newline at end of file