ActuallyAdditions/src/main/java/de/ellpeck/actuallyadditions/common/misc/cloud/SmileyCloudEasterEggs.java

517 lines
18 KiB
Java
Raw Normal View History

2020-09-09 16:49:01 +02:00
package de.ellpeck.actuallyadditions.common.misc.cloud;
2019-05-02 09:10:29 +02:00
import java.util.ArrayList;
import java.util.List;
2020-09-20 12:26:01 +02:00
import com.mojang.blaze3d.platform.GlStateManager;
2020-09-09 16:49:01 +02:00
import de.ellpeck.actuallyadditions.common.blocks.InitBlocks;
import de.ellpeck.actuallyadditions.common.items.InitItems;
import de.ellpeck.actuallyadditions.common.items.metalists.TheFoods;
import de.ellpeck.actuallyadditions.common.items.metalists.TheMiscItems;
import de.ellpeck.actuallyadditions.common.util.AssetUtil;
import net.minecraft.block.Block;
2020-09-20 12:26:01 +02:00
import net.minecraft.block.Blocks;
2015-08-24 17:57:11 +02:00
import net.minecraft.item.ItemStack;
2020-09-20 12:26:01 +02:00
import net.minecraft.item.Items;
2019-05-02 09:10:29 +02:00
public final class SmileyCloudEasterEggs {
2019-02-27 19:53:05 +01:00
public static final List<ISmileyCloudEasterEgg> CLOUD_STUFF = new ArrayList<>();
2019-05-02 09:10:29 +02:00
static {
//Glenthor
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "glenthor", "glenthorlp", "twoofeight" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2020-09-20 12:26:01 +02:00
renderHoldingItem(true, new ItemStack(Items.GREEN_DYE, 1));
renderHeadBlock(InitBlocks.blockHeatCollector.get(), 0, 5F);
}
});
//Ellpeck
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "ellpeck", "ellopecko", "peck" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
renderHoldingItem(false, new ItemStack(InitItems.itemPhantomConnector));
2020-09-20 12:26:01 +02:00
renderHeadBlock(InitBlocks.blockPhantomLiquiface.get(), 0, 25F);
}
});
//Tyrex
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "tyrex", "lord_tobinho", "tobinho" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.FISHING_ROD));
2020-09-20 12:26:01 +02:00
renderHoldingItem(true, new ItemStack(Items.TROPICAL_FISH));
}
});
//Hose
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "dqmhose", "xdqmhose", "hose" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2020-09-20 12:26:01 +02:00
renderHoldingItem(false, new ItemStack(Items.KELP));
2016-04-20 21:39:03 +02:00
renderHeadBlock(Blocks.TORCH, 0, 15F);
}
});
//Tobi
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "jemx", "jemxx", "jemxxx", "spielertobi200" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(true, new ItemStack(Items.MILK_BUCKET));
renderHeadBlock(Blocks.REDSTONE_LAMP, 0, 35F);
}
});
//Vazkii
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "vazkii", "vaski", "waskie" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2020-09-20 12:26:01 +02:00
renderHoldingItem(true, new ItemStack(Items.BONE_MEAL, 1));
renderHeadBlock(Blocks.POPPY, 0, 20F);
}
});
//Kitty
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "kitty", "kiddy", "kittyvancat", "kittyvancatlp" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2020-09-20 12:26:01 +02:00
renderHoldingItem(true, new ItemStack(Items.TROPICAL_FISH));
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.MILK_BUCKET));
2020-09-20 12:26:01 +02:00
renderHeadBlock(Blocks.PURPLE_WOOL, 0, 15F);
}
});
//Canitzp
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "canitz", "canitzp", "kannnichts", "kannnichtsp" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.WOODEN_SWORD));
renderHeadBlock(Blocks.CHEST, 0, 70F);
}
});
//Lari
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "lari", "larixine", "xine", "laxi", "lachsirine", "lala", "lalilu" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.IRON_HELMET));
2020-09-20 12:26:01 +02:00
renderHeadBlock(InitBlocks.blockBlackLotus.get(), 0, 28F);
}
});
//RotesDing
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "rotesding", "dotesring" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.MILK_BUCKET));
2020-09-20 12:26:01 +02:00
renderHoldingItem(true, new ItemStack(Items.RED_DYE, 1));
renderHeadBlock(Blocks.RED_WOOL, 0, 18F);
}
});
2015-08-25 17:59:50 +02:00
//Bande
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-08-25 17:59:50 +02:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "bande", "bandelenth" };
2015-08-25 17:59:50 +02:00
}
2015-10-02 16:48:01 +02:00
2015-08-25 17:59:50 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.DIAMOND_PICKAXE));
2020-09-20 12:26:01 +02:00
renderHeadBlock(Blocks.YELLOW_WOOL, 0, 18F);
2015-08-25 17:59:50 +02:00
}
});
//Wolle
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-08-25 17:59:50 +02:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "wolle", "wuitoi" };
2015-08-25 17:59:50 +02:00
}
2015-10-02 16:48:01 +02:00
2015-08-25 17:59:50 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.STRING));
2020-09-20 12:26:01 +02:00
renderHeadBlock(Blocks.WHITE_WOOL, 0, 18F);
2015-08-25 17:59:50 +02:00
}
});
//Pakto
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-08-25 17:59:50 +02:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "pakto", "paktosan", "paktosanlp" };
2015-08-25 17:59:50 +02:00
}
2015-10-02 16:48:01 +02:00
2015-08-25 17:59:50 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2020-09-20 12:26:01 +02:00
renderHoldingItem(false, new ItemStack(Items.PINK_DYE, 1));
renderHeadBlock(InitBlocks.blockColoredLampOn.get(), 6, 18F);
2015-08-25 17:59:50 +02:00
}
});
//Honka
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-08-25 17:59:50 +02:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "honka", "honkalonka", "lonka", "lonki" };
2015-08-25 17:59:50 +02:00
}
2015-10-02 16:48:01 +02:00
2015-08-25 17:59:50 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2020-09-20 12:26:01 +02:00
renderHoldingItem(false, new ItemStack(InitItems.itemLeafBlowerAdvanced, 1));
2016-04-20 21:39:03 +02:00
renderHeadBlock(Blocks.HAY_BLOCK, 0, 74F);
2015-08-25 17:59:50 +02:00
}
});
//Acid
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "acid", "acid_blues", "acidblues" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2020-09-20 12:26:01 +02:00
// todo: replace with proper item name
renderHoldingItem(false, new ItemStack(InitItems.itemFoods, 1));
2016-04-20 21:39:03 +02:00
renderHeadBlock(Blocks.BOOKSHELF, 0, 27F);
}
});
//Jasin
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "jasin", "jasindow" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.WRITTEN_BOOK));
2020-09-20 12:26:01 +02:00
renderHeadBlock(Blocks.COBWEB, 0, 56F);
}
});
2015-10-05 11:51:33 +02:00
//ShadowNinjaCat
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "shadowninjacat", "ninja", "tl" };
}
2015-10-02 16:48:01 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.DIAMOND_SWORD));
renderHeadBlock(Blocks.DIAMOND_BLOCK, 0, 26F);
}
});
2015-08-31 06:41:49 +02:00
//NihonTiger
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-08-31 06:41:49 +02:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "nihon", "nihontiger", "tiger" };
2015-08-31 06:41:49 +02:00
}
2015-10-02 16:48:01 +02:00
2015-08-31 06:41:49 +02:00
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.STONE_PICKAXE));
renderHoldingItem(true, new ItemStack(Items.POISONOUS_POTATO));
renderHeadBlock(Blocks.GRAVEL, 0, 47F);
2015-08-31 06:41:49 +02:00
}
});
2015-11-03 23:47:17 +01:00
//FrauBaerchen
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "fraubaerchen", "baerchen", "nina" };
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.COOKIE));
renderHoldingItem(true, new ItemStack(Items.PAPER));
renderHeadBlock(Blocks.COAL_BLOCK, 0, 60F);
}
});
2015-11-03 23:47:17 +01:00
//Diddi
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-10-07 00:55:19 +02:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "0xdd", "didi", "diddi", "theultimatehose" };
2015-10-07 00:55:19 +02:00
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2015-10-07 00:55:19 +02:00
renderHoldingItem(true, new ItemStack(InitItems.itemDrill));
2016-04-20 21:39:03 +02:00
renderHeadBlock(Blocks.REDSTONE_BLOCK, 0, 30F);
2015-10-07 00:55:19 +02:00
}
});
2015-11-03 23:47:17 +01:00
//MineLoad
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-10-07 20:47:28 +02:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "mineload", "miney", "loady", "mineyloady" };
2015-10-07 20:47:28 +02:00
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2015-10-07 20:47:28 +02:00
renderHoldingItem(false, new ItemStack(InitItems.itemMagnetRing));
2016-04-20 21:39:03 +02:00
renderHeadBlock(Blocks.CRAFTING_TABLE, 0, 35F);
2015-10-07 20:47:28 +02:00
}
});
2015-11-03 23:47:17 +01:00
//Kilobyte (When I asked him if he liked the mod, he just looked at the code. Maybe he'll find this eventually.)
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-11-03 23:47:17 +01:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "kilobyte", "kilo", "byte" };
2015-11-03 23:47:17 +01:00
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2020-09-20 12:26:01 +02:00
// todo: replace this with the right thing
renderHoldingItem(false, new ItemStack(InitItems.itemMisc, 1));// TheMiscItems.DRILL_CORE.ordinal()));
2016-04-20 21:39:03 +02:00
renderHeadBlock(Blocks.REDSTONE_ORE, 0, 80F);
2015-11-03 23:47:17 +01:00
}
});
//XDjackieXD
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-11-03 23:47:17 +01:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "jackie", "xdjackiexd", "xdjackie", "jackiexd" };
2015-11-03 23:47:17 +01:00
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.ENCHANTED_BOOK));
2020-09-20 12:26:01 +02:00
renderHeadBlock(InitBlocks.blockDirectionalBreaker.get(), 0, 40F);
2015-11-03 23:47:17 +01:00
}
});
//Little Lampi (I still can't get over it)
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-11-03 23:47:17 +01:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "lampi", "littlelampi", "little lampi" };
2015-11-03 23:47:17 +01:00
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.GLOWSTONE_DUST));
2020-09-20 12:26:01 +02:00
renderHeadBlock(InitBlocks.blockColoredLampOn.get(), 4, 40F);// todo: fix meta
2015-11-03 23:47:17 +01:00
}
});
2015-11-06 23:22:38 +01:00
//AtomSponge
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-11-06 23:22:38 +01:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "sponge", "atomsponge", "atom", "explosions", "explosion" };
2015-11-06 23:22:38 +01:00
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2016-04-20 21:39:03 +02:00
renderHoldingItem(false, new ItemStack(Items.GUNPOWDER));
renderHeadBlock(Blocks.SPONGE, 0, 20F);
2015-11-13 19:03:20 +01:00
}
});
//Mattzimann
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2015-11-13 19:03:20 +01:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "mattzimann", "mattziman", "matziman", "marzipan", "mattzi" };
2015-11-13 19:03:20 +01:00
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2015-11-13 19:03:20 +01:00
renderHoldingItem(false, new ItemStack(InitItems.itemSwordEmerald));
2020-09-20 12:26:01 +02:00
renderHeadBlock(InitBlocks.blockCoffeeMachine.get(), 0, 35F);
2015-11-06 23:22:38 +01:00
}
});
//Etho
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "etho", "ethoslab" };
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
renderHoldingItem(false, new ItemStack(Items.REDSTONE));
renderHeadBlock(Blocks.REDSTONE_BLOCK, 0, 48F);
}
});
//Direwolf20
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "direwolf", "dire", "direwolf20", "dw20" };
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
renderHoldingItem(false, new ItemStack(Items.BONE));
2016-11-19 21:11:17 +01:00
renderHeadBlock(Blocks.BONE_BLOCK, 0, 48F);
}
});
//Jessassin
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "jessassin", "thejessassin" };
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2020-09-20 12:26:01 +02:00
renderHeadBlock(InitBlocks.blockLaserRelayItem.get(), 0, 27F);
renderHoldingItem(false, new ItemStack(InitItems.itemLaserWrench));
}
});
//Biffa
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "biffa", "biffatech", "biffaplays", "biffa2001" };
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
renderHoldingItem(false, new ItemStack(InitItems.itemCoffee));
}
});
//Xisuma
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "xisuma", "xisumavoid" };
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
renderHeadBlock(Blocks.REDSTONE_BLOCK, 0, 93F);
renderHoldingItem(false, new ItemStack(Items.ELYTRA));
}
});
//Welsknight
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "welsknight", "wels" };
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
renderHeadBlock(Blocks.STONE_BRICK_STAIRS, 0, 10F);
renderHoldingItem(false, new ItemStack(Items.DIAMOND_PICKAXE));
}
});
2017-02-14 18:18:38 +01:00
//xbony2
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2017-02-14 18:18:38 +01:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "bony", "xbony", "xbony2" };
2017-02-14 18:18:38 +01:00
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2017-02-14 18:18:38 +01:00
renderHoldingItem(false, new ItemStack(InitItems.itemBooklet));
2020-09-20 12:26:01 +02:00
renderHeadBlock(InitBlocks.blockSmileyCloud.get(), 0, 13F);
2017-02-14 18:18:38 +01:00
}
});
2017-02-14 20:48:01 +01:00
//MattaBase
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2017-02-14 20:48:01 +01:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "themattabase", "mattabase", "matt", "mad" };
2017-02-14 20:48:01 +01:00
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2020-09-20 12:26:01 +02:00
renderHeadBlock(Blocks.GREEN_WOOL, 0, 35F);
2017-02-14 20:48:01 +01:00
renderHoldingItem(false, new ItemStack(InitItems.itemSwordQuartz));
renderHoldingItem(true, new ItemStack(Items.SHIELD));
}
});
2017-02-17 16:24:21 +01:00
//Cloudy
2019-05-02 09:10:29 +02:00
register(new ISmileyCloudEasterEgg() {
2017-02-17 16:24:21 +01:00
@Override
2019-05-02 09:10:29 +02:00
public String[] getTriggerNames() {
return new String[] { "cloudy", "cloudhunter" };
2017-02-17 16:24:21 +01:00
}
@Override
2019-05-02 09:10:29 +02:00
public void renderExtra(float f) {
2017-02-17 16:24:21 +01:00
renderHeadBlock(Blocks.REDSTONE_BLOCK, 0, 17F);
//other hand is for fapping
renderHoldingItem(true, new ItemStack(Items.BOW));
}
});
}
2019-05-02 09:10:29 +02:00
private static void register(ISmileyCloudEasterEgg egg) {
2016-06-17 23:50:38 +02:00
CLOUD_STUFF.add(egg);
}
2020-09-20 12:26:01 +02:00
// todo: migrate to matrix
2019-05-02 09:10:29 +02:00
private static void renderHoldingItem(boolean leftHand, ItemStack stack) {
GlStateManager.pushMatrix();
2020-09-20 12:26:01 +02:00
GlStateManager.rotatef(180F, 0F, 0F, 1F);
GlStateManager.rotatef(90, 0, 1, 0);
GlStateManager.translatef(-0.15f, -1F, leftHand ? -0.525F : 0.525F);
GlStateManager.scalef(0.75F, 0.75F, 0.75F);
AssetUtil.renderItemInWorld(stack);
GlStateManager.popMatrix();
}
2019-05-02 09:10:29 +02:00
private static void renderHeadBlock(Block block, int meta, float rotation) {
GlStateManager.pushMatrix();
GlStateManager.disableLighting();
2020-09-20 12:26:01 +02:00
GlStateManager.translatef(-0.015F, 0.625F, 0.04F);
GlStateManager.scalef(0.5F, 0.5F, 0.5F);
GlStateManager.rotatef(180F, 1F, 0F, 0F);
GlStateManager.rotatef(rotation, 0F, 1F, 0F);
2015-12-22 14:55:10 +01:00
AssetUtil.renderBlockInWorld(block, meta);
GlStateManager.enableLighting();
GlStateManager.popMatrix();
}
}