1 package pcc.addon.crops;
3 import java.awt.Canvas;
4 import java.io.IOException;
6 import pcc.addon.crops.blocks.BlockChemicalCrops1;
7 import pcc.addon.crops.util.MultiBlockDataStream;
8 import pcc.addon.crops.util.WorldEventHandler;
10 import net.minecraft.block.Block;
11 import net.minecraft.block.material.Material;
12 import net.minecraft.client.Minecraft;
13 import net.minecraftforge.common.Configuration;
14 import net.minecraftforge.common.MinecraftForge;
15 import cpw.mods.fml.common.Mod;
16 import cpw.mods.fml.common.Mod.Init;
17 import cpw.mods.fml.common.Mod.Instance;
18 import cpw.mods.fml.common.Mod.PreInit;
19 import cpw.mods.fml.common.SidedProxy;
20 import cpw.mods.fml.common.event.FMLInitializationEvent;
21 import cpw.mods.fml.common.event.FMLPreInitializationEvent;
22 import cpw.mods.fml.common.network.NetworkMod;
23 import cpw.mods.fml.common.registry.GameRegistry;
25 @Mod(modid="ChemicalCrops", name="ChemicalCrops(ChemiCraft-Addon)", version="v1.0.0")
26 @NetworkMod(clientSideRequired = true, serverSideRequired = false)
27 public class ChemicalCrops {
29 @Instance("ChemicalCrops")
30 public static ChemicalCrops instance;
32 @SidedProxy(clientSide = "pcc.addon.crops.ClientProxy", serverSide = "pcc.addon.crops.CommonProxy")
33 public static CommonProxy proxy;
41 * ChemicalCropsの変数。<br>
42 * ここに入るインスタンスはBlockChemicalCropsと保証されます。
44 private Block blockCrops1;
47 * プラントデータ書き込み&読み込みのストリーム
49 public static final MultiBlockDataStream dataStream = new MultiBlockDataStream(System.getProperty("user.dir") + "/saves/", "ChemicalCrops.dat");
54 public static final String TEXTURE = "ChemicalCrops:";
59 private Thread thread;
61 public ChemicalCrops() {
62 this.thread = new Thread() {
67 dataStream.createDataOutputStream();
69 } catch (IOException e1) {
74 } catch (InterruptedException e) {
84 public void preInit(FMLPreInitializationEvent event) {
85 Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
87 this.crops1ID = cfg.getBlock("CropsID", 2700).getInt();
92 public void init(FMLInitializationEvent event) {
94 MinecraftForge.EVENT_BUS.register(new WorldEventHandler());
97 this.blockCrops1 = new BlockChemicalCrops1(this.crops1ID, Material.glass).setUnlocalizedName("BlockCrops");
100 GameRegistry.registerBlock(this.blockCrops1, "BlockCrops");
104 * プラントデータ自動セーブを開始します。<br>
105 * すでに停止している場合はNullPointerExceptionをスローします。
107 public void startAutoSave() {
110 } catch (IllegalThreadStateException e) {
115 * プラントデータ自動セーブを停止します。<br>
116 * 開始していない、もしくはすでに停止している場合はNullPointerExceptionをスローします。
118 public void stopAutoSave() {