-
Notifications
You must be signed in to change notification settings - Fork 1
/
mod_Graffiti.java
125 lines (106 loc) · 4.11 KB
/
mod_Graffiti.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package net.minecraft.graffiti;
import java.util.EnumSet;
import java.util.logging.Level;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.graffiti.client.ClientTickHandler;
import net.minecraft.item.Item;
import net.minecraft.item.ItemDye;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.src.ModLoader;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.Property;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.ITickHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.TickType;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.common.registry.TickRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@Mod(modid = "Graffiti", name = "Graffiti Block", version = "1.1.0")
@NetworkMod(clientSideRequired = true, serverSideRequired = false, channels = {"graffiti"}, packetHandler = PacketHandler.class)
public class mod_Graffiti
{
@SidedProxy(clientSide = "net.minecraft.graffiti.client.ClientProxy", serverSide = "net.minecraft.graffiti.CommonProxy")
public static CommonProxy proxy;
public static int blockId = 2180;
public static int itemId = 30821;
public int posionX = 0;
public int posionY = 0;
public int color = 0xFFFFFF;
public int maxLength = 15;
public static GraffitiBlock graffitiBlock = null;
public static ItemBlockGraffiti graffitBlockiItem = null;
public static ItemGraffiti graffitiItem = null;
private static float width = 0.0125F;
private static float lineWidth = 0.01F;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
try
{
cfg.load();
blockId = cfg.getBlock("GraffitiBlockID", blockId).getInt();
itemId = cfg.getItem("ItemID", itemId).getInt();
posionX = cfg.get("displayinfo", "PosionX", posionX).getInt();
posionY = cfg.get("displayinfo", "PosionY", posionY).getInt();
color = cfg.get("displayinfo", "Color", color).getInt();
maxLength = cfg.get("maxLength", "maxLength", maxLength).getInt();
}
catch (Exception e)
{
FMLLog.log(Level.SEVERE, e, "Error Massage");
}
finally
{
cfg.save();
}
int renderType = proxy.getBlockNewRenderType();
graffitiBlock = new GraffitiBlock(blockId, renderType);
GameRegistry.registerBlock(graffitiBlock, ItemBlockGraffiti.class , "graffitiBlock");
graffitiItem = new ItemGraffiti(itemId, blockId, posionX, posionY, color, maxLength);
GameRegistry.registerItem(graffitiItem, "graffitiItem");
}
@EventHandler
public void init(FMLInitializationEvent event)
{
proxy.registerRenderInformation();
LanguageRegistry.addName(graffitiBlock, "Graffiti Block");
LanguageRegistry.instance().addNameForObject(graffitiBlock, "ja_JP", "落書きブロック");
for(int i = 0 ; i < 16 ; i++)
{
ItemStack itemstack = new ItemStack(graffitiItem, 1, i);
LanguageRegistry.addName(itemstack, "Graffiti Item(" + ItemDye.dyeColorNames[15 - i] + ")");
LanguageRegistry.instance().addNameForObject(itemstack, "ja_JP", "落書きアイテム(" + ItemDye.dyeColorNames[15 - i] + ")");
}
GameRegistry.addRecipe(
new ItemStack(graffitiItem, 4, 0),
new Object[] { " X ",
"X X",
" X ",
'X', new ItemStack(Item.silk)
}
);
CraftingManager.getInstance().getRecipeList().add(new ShapelessGraffitiRecipes(new ItemStack(graffitiItem, 1, 0)));
CraftingManager.getInstance().getRecipeList().add(new ShapelessGraffitiRecipesReverse(new ItemStack(graffitiItem, 1, 0)));
TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT);
}
public static float getWidth()
{
return width;
}
public static float getLineWidth()
{
return lineWidth;
}
}