This commit is contained in:
Cricket committed 2015-01-27 09:56:28 -05:00
1 parent 512c6d092d
commit 46f8519829
6 files changed
+182 -55

No files matched your search

@@ -1,16 +1,7 @@
package com.cricketcraft.chisel;
import java.io.File;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.cricketcraft.chisel.block.BlockCarvable;
import com.cricketcraft.chisel.client.player.PlayerSpecials;
import com.cricketcraft.chisel.compat.Compatibility;
import com.cricketcraft.chisel.config.Configurations;
import com.cricketcraft.chisel.init.ChiselBlocks;
@@ -21,7 +12,6 @@ import com.cricketcraft.chisel.network.PacketHandler;
import com.cricketcraft.chisel.proxy.CommonProxy;
import com.cricketcraft.chisel.utils.General;
import com.cricketcraft.chisel.world.GeneratorChisel;
import cpw.mods.fml.client.event.ConfigChangedEvent;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.FMLLog;
@@ -29,16 +19,20 @@ import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.event.FMLMissingMappingsEvent;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.event.FMLMissingMappingsEvent.MissingMapping;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.GameRegistry.Type;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.File;
@Mod(modid = Chisel.MOD_ID, name = Chisel.MOD_NAME, version = Chisel.VERSION, guiFactory = "com.cricketcraft.chisel.client.gui.GuiFactory", dependencies = "after:ForgeMultipart;after:Thaumcraft;after:appliedenergistics2;after:Railcraft;after:AWWayofTime;after:TwilightForest")
public class Chisel {
@@ -137,6 +131,9 @@ public class Chisel {
MinecraftForge.EVENT_BUS.register(this);
FMLCommonHandler.instance().bus().register(instance);
FMLCommonHandler.instance().bus().register(new PlayerSpecials());
FMLInterModComms.sendMessage("Waila", "register", "com.cricketcraft.chisel.compat.WailaCompat.register");
}
@@ -1,16 +1,15 @@
package com.cricketcraft.chisel.block;
import java.util.Random;
import com.cricketcraft.chisel.client.GeneralChiselClient;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import com.cricketcraft.chisel.client.GeneralChiselClient;
import java.util.Random;
public class BlockSnakestoneObsidian extends BlockSnakestone {
public IIcon[] particles = new IIcon[8];
public static IIcon[] particles = new IIcon[8];
public BlockSnakestoneObsidian(String iconPrefix) {
super(iconPrefix);
@@ -1,7 +1,14 @@
package com.cricketcraft.chisel.client;
import java.util.Random;
import com.cricketcraft.chisel.block.BlockGrimstone;
import com.cricketcraft.chisel.block.BlockHolystone;
import com.cricketcraft.chisel.block.BlockLavastone;
import com.cricketcraft.chisel.block.BlockSnakestoneObsidian;
import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel;
import com.cricketcraft.chisel.carving.Carving;
import com.cricketcraft.chisel.config.Configurations;
import com.cricketcraft.chisel.entity.fx.*;
import com.cricketcraft.chisel.utils.GeneralClient;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
@@ -12,18 +19,7 @@ import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import com.cricketcraft.chisel.block.BlockGrimstone;
import com.cricketcraft.chisel.block.BlockHolystone;
import com.cricketcraft.chisel.block.BlockLavastone;
import com.cricketcraft.chisel.block.BlockSnakestoneObsidian;
import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel;
import com.cricketcraft.chisel.carving.Carving;
import com.cricketcraft.chisel.config.Configurations;
import com.cricketcraft.chisel.entity.fx.EntityBallOMossFX;
import com.cricketcraft.chisel.entity.fx.EntityGrimstoneFX;
import com.cricketcraft.chisel.entity.fx.EntityHolystoneFX;
import com.cricketcraft.chisel.entity.fx.EntitySnakestoneObsidianFX;
import com.cricketcraft.chisel.utils.GeneralClient;
import java.util.Random;
public class GeneralChiselClient {
@@ -171,6 +167,11 @@ public class GeneralChiselClient {
}
}
public static void spawnCricketFX(World world, double x, double y, double z) {
EntityCricketFX cricket = new EntityCricketFX(world, x, y, z);
Minecraft.getMinecraft().effectRenderer.addEffect(cricket);
}
public static void spawnBallOMossFX(World world, double x, double y, double z) {
if (Configurations.particlesTickrate == 0 || tick++ % Configurations.particlesTickrate == 0) {
EntityBallOMossFX res = new EntityBallOMossFX(world, x, y, z);
@@ -0,0 +1,38 @@
package com.cricketcraft.chisel.client.player;
import com.cricketcraft.chisel.client.GeneralChiselClient;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.eventhandler.EventPriority;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelRenderer;
import net.minecraftforge.client.event.RenderPlayerEvent;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class PlayerSpecials {
public PlayerSpecials() {
FMLCommonHandler.instance().bus().register(this);
}
@SubscribeEvent(priority = EventPriority.HIGHEST)
public void renderCricket(RenderPlayerEvent event) {
if (!"TheCricket26".equals(event.entityPlayer.getDisplayName())) {
return;
}
if (event.entityPlayer.isInvisible()) {
return;
}
ModelRenderer body = null;
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPushMatrix();
GeneralChiselClient.spawnCricketFX(event.entityPlayer.getEntityWorld(), event.entityPlayer.posX, event.entityPlayer.posY, event.entityPlayer.posZ);
GL11.glPopMatrix();
}
}
@@ -0,0 +1,106 @@
package com.cricketcraft.chisel.entity.fx;
import com.cricketcraft.chisel.Chisel;
import com.cricketcraft.chisel.utils.General;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
public class EntityCricketFX extends EntityFX {
private double tx, ty, tz, speed;
public EntityCricketFX(World world, double x, double y, double z) {
super(world, x + 1, y + 1, z + 1);
particleScale = 0.5F + 0.5F * General.rand.nextFloat();
speed = 0.04 + 0.04 * General.rand.nextDouble();
particleMaxAge = (int) (Math.random() * 10.0D) + 40;
tx = x + General.rand.nextDouble();
ty = y + General.rand.nextDouble();
tz = z + General.rand.nextDouble();
switch (General.rand.nextInt(6)) {
case 0:
tx = x;
break;
case 1:
tx = x + 1;
break;
case 2:
ty = y;
break;
case 3:
ty = y + 1;
break;
case 4:
tz = z;
break;
case 5:
tz = z + 1;
break;
}
double dx = (tx - posX) * 3;
double dy = (ty - posY) * 3;
double dz = (tz - posZ) * 3;
setPosition(posX + dx, posY + dy + 8, posZ + dz);
prevPosX = posX;
prevPosY = posY;
prevPosZ = posZ;
noClip = true;
}
@Override
public int getFXLayer() {
return 1;
}
@Override
public void renderParticle(Tessellator tessellator, float partialTick, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
super.renderParticle(tessellator, partialTick, rotX, rotXZ, rotZ, rotYZ, rotXY);
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(Chisel.MOD_ID + ":/assets/chisel/blocks/snakestone/obsidian/particles/" + General.rand.nextInt(8) + ".png"));
if (particleAge++ >= particleMaxAge) {
setDead();
return;
}
double dx = tx - posX;
double dy = ty - posY;
double dz = tz - posZ;
double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
if (distance == 0) {
setDead();
return;
}
if (distance < 0.4) {
particleAlpha = (float) (distance / 0.4);
} else if (particleAge < 20) {
particleAlpha = 1.0F * particleAge / 20;
} else {
particleAlpha = 1.0F;
}
if (distance < speed) {
speed = distance;
}
prevPosX = posX;
prevPosY = posY;
prevPosZ = posZ;
double px = posX + dx / distance * speed;
double py = posY + dy / distance * speed;
double pz = posZ + dz / distance * speed;
setPosition(px, py, pz);
}
}
@@ -1,27 +1,8 @@
package com.cricketcraft.chisel.proxy;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.RenderSnowball;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel;
import com.cricketcraft.chisel.block.tileentity.TileEntityPresent;
import com.cricketcraft.chisel.client.render.BlockAdvancedMarbleRenderer;
import com.cricketcraft.chisel.client.render.BlockCTMNoLightRenderer;
import com.cricketcraft.chisel.client.render.BlockCarpetRenderer;
import com.cricketcraft.chisel.client.render.BlockEldritchRenderer;
import com.cricketcraft.chisel.client.render.BlockGlowRenderer;
import com.cricketcraft.chisel.client.render.BlockLayeredRenderer;
import com.cricketcraft.chisel.client.render.BlockMarblePaneRenderer;
import com.cricketcraft.chisel.client.render.BlockMarblePillarRenderer;
import com.cricketcraft.chisel.client.render.BlockMarbleStairsRenderer;
import com.cricketcraft.chisel.client.render.BlockRoadLineRenderer;
import com.cricketcraft.chisel.client.render.BlockSnakeStoneRenderer;
import com.cricketcraft.chisel.client.render.BlockTexturedOreRenderer;
import com.cricketcraft.chisel.client.render.RenderStandardBlockNoSunlight;
import com.cricketcraft.chisel.client.render.*;
import com.cricketcraft.chisel.client.render.item.ItemChiselRenderer;
import com.cricketcraft.chisel.client.render.item.ItemPresentRenderer;
import com.cricketcraft.chisel.client.render.tile.RenderAutoChisel;
@@ -31,9 +12,14 @@ import com.cricketcraft.chisel.entity.EntityCloudInABottle;
import com.cricketcraft.chisel.entity.EntitySmashingRock;
import com.cricketcraft.chisel.init.ChiselBlocks;
import com.cricketcraft.chisel.init.ChiselItems;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.RenderSnowball;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
public class ClientProxy extends CommonProxy {