feat: force torches
This commit is contained in:
parent
ae1cde18db
commit
f6df183193
11
build.gradle
11
build.gradle
|
@ -32,7 +32,12 @@ minecraft {
|
||||||
runDir = "run"
|
runDir = "run"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
maven { url = "https://maven.tilera.xyz" }
|
||||||
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
implementation "thaumcraft:Thaumcraft:1.7.10-4.2.3.5:deobf"
|
||||||
}
|
}
|
||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
|
@ -54,6 +59,12 @@ task sourcesJar(type: Jar) {
|
||||||
classifier = 'sources'
|
classifier = 'sources'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jar {
|
||||||
|
manifest {
|
||||||
|
attributes "FMLAT": "dartcraft_at.cfg"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
tasks.publish.dependsOn 'build'
|
tasks.publish.dependsOn 'build'
|
||||||
publications {
|
publications {
|
||||||
|
|
|
@ -19,6 +19,7 @@ import ley.modding.dartcraft.entity.EntityFlyingFlask;
|
||||||
import ley.modding.dartcraft.entity.EntityFrozenItem;
|
import ley.modding.dartcraft.entity.EntityFrozenItem;
|
||||||
import ley.modding.dartcraft.entity.EntityTime;
|
import ley.modding.dartcraft.entity.EntityTime;
|
||||||
import ley.modding.dartcraft.event.EventHandler;
|
import ley.modding.dartcraft.event.EventHandler;
|
||||||
|
import ley.modding.dartcraft.handlers.TimeHandler;
|
||||||
import ley.modding.dartcraft.internal.Registry;
|
import ley.modding.dartcraft.internal.Registry;
|
||||||
import ley.modding.dartcraft.item.DartItems;
|
import ley.modding.dartcraft.item.DartItems;
|
||||||
import ley.modding.dartcraft.network.PacketClipButton;
|
import ley.modding.dartcraft.network.PacketClipButton;
|
||||||
|
@ -55,6 +56,7 @@ public class Dartcraft {
|
||||||
@Mod.EventHandler
|
@Mod.EventHandler
|
||||||
public void preInit(FMLPreInitializationEvent e) {
|
public void preInit(FMLPreInitializationEvent e) {
|
||||||
MinecraftForge.EVENT_BUS.register(new EventHandler());
|
MinecraftForge.EVENT_BUS.register(new EventHandler());
|
||||||
|
MinecraftForge.EVENT_BUS.register(new TimeHandler());
|
||||||
channel = NetworkRegistry.INSTANCE.newSimpleChannel("dartcraft");
|
channel = NetworkRegistry.INSTANCE.newSimpleChannel("dartcraft");
|
||||||
int desc = 0;
|
int desc = 0;
|
||||||
channel.registerMessage(
|
channel.registerMessage(
|
||||||
|
|
163
src/main/java/ley/modding/dartcraft/client/fx/FXCure.java
Normal file
163
src/main/java/ley/modding/dartcraft/client/fx/FXCure.java
Normal file
|
@ -0,0 +1,163 @@
|
||||||
|
package ley.modding.dartcraft.client.fx;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import ley.modding.dartcraft.Dartcraft;
|
||||||
|
import ley.modding.dartcraft.proxy.CommonProxy;
|
||||||
|
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 FXCure extends EntityFX {
|
||||||
|
public static final int TYPE_FALL = 0;
|
||||||
|
public static final int TYPE_CHANGE = 1;
|
||||||
|
public static final int TYPE_BREAK = 2;
|
||||||
|
private int iconIndex = 16;
|
||||||
|
private int changeTime;
|
||||||
|
private int type;
|
||||||
|
private Color color;
|
||||||
|
|
||||||
|
public FXCure(
|
||||||
|
World world, double x, double y, double z, double vx, double vy, double vz
|
||||||
|
) {
|
||||||
|
super(world, x, y, z, vx, vy, vz);
|
||||||
|
}
|
||||||
|
|
||||||
|
public FXCure(World world, double x, double y, double z, int color, int type) {
|
||||||
|
super(world, x, y, z);
|
||||||
|
this.color = new Color(color);
|
||||||
|
this.particleRed = (float) this.color.getRed();
|
||||||
|
this.particleGreen = (float) this.color.getGreen();
|
||||||
|
this.particleBlue = (float) this.color.getBlue();
|
||||||
|
this.setSize(0.01F, 0.01F);
|
||||||
|
this.changeTime = 0;
|
||||||
|
this.noClip = true;
|
||||||
|
this.type = type;
|
||||||
|
float velModifier;
|
||||||
|
switch (type) {
|
||||||
|
case 0:
|
||||||
|
this.motionX = this.motionZ = 0.0D;
|
||||||
|
this.motionY = -0.025D;
|
||||||
|
this.particleMaxAge = (int) (85.0D
|
||||||
|
* ((double) world.rand.nextFloat() * 0.2D
|
||||||
|
+ 0.8999999761581421D));
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
velModifier = 0.25F;
|
||||||
|
this.motionX = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.motionY = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.motionZ = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.particleMaxAge = (int) (10.0D
|
||||||
|
* ((double) world.rand.nextFloat() * 0.2D
|
||||||
|
+ 0.8999999761581421D));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
velModifier = 0.1F;
|
||||||
|
this.motionX = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.motionY = (double) velModifier;
|
||||||
|
this.motionZ = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.particleMaxAge = (int) (10.0D
|
||||||
|
* ((double) world.rand.nextFloat() * 0.2D
|
||||||
|
+ 0.8999999761581421D));
|
||||||
|
this.particleGravity = 0.5F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onUpdate() {
|
||||||
|
super.onUpdate();
|
||||||
|
++this.changeTime;
|
||||||
|
if (this.changeTime > 5) {
|
||||||
|
++this.iconIndex;
|
||||||
|
this.changeTime = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.iconIndex > 19) {
|
||||||
|
this.iconIndex = 16;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.rotationPitch += 0.01F;
|
||||||
|
switch (this.type) {
|
||||||
|
case 2:
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void renderParticle(
|
||||||
|
Tessellator tessy,
|
||||||
|
float par2,
|
||||||
|
float par3,
|
||||||
|
float par4,
|
||||||
|
float par5,
|
||||||
|
float par6,
|
||||||
|
float par7
|
||||||
|
) {
|
||||||
|
tessy.draw();
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glDepthMask(false);
|
||||||
|
GL11.glEnable(3042);
|
||||||
|
GL11.glBlendFunc(770, 1);
|
||||||
|
Dartcraft.proxy.bindTexture("darticles.png");
|
||||||
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.75F);
|
||||||
|
float var8 = (float) (this.iconIndex % 8) / 8.0F;
|
||||||
|
float var9 = var8 + 0.124875F;
|
||||||
|
float var10 = (float) (this.iconIndex / 8) / 8.0F;
|
||||||
|
float var11 = var10 + 0.124875F;
|
||||||
|
float var12 = 0.1F * this.particleScale;
|
||||||
|
float var13 = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) par2
|
||||||
|
- interpPosX);
|
||||||
|
float var14 = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) par2
|
||||||
|
- interpPosY);
|
||||||
|
float var15 = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) par2
|
||||||
|
- interpPosZ);
|
||||||
|
tessy.startDrawingQuads();
|
||||||
|
tessy.setBrightness(240);
|
||||||
|
tessy.setColorRGBA_F(
|
||||||
|
this.particleRed, this.particleGreen, this.particleBlue, 1.0F
|
||||||
|
);
|
||||||
|
tessy.addVertexWithUV(
|
||||||
|
(double) (var13 - par3 * var12 - par6 * var12),
|
||||||
|
(double) (var14 - par4 * var12),
|
||||||
|
(double) (var15 - par5 * var12 - par7 * var12),
|
||||||
|
(double) var9,
|
||||||
|
(double) var11
|
||||||
|
);
|
||||||
|
tessy.addVertexWithUV(
|
||||||
|
(double) (var13 - par3 * var12 + par6 * var12),
|
||||||
|
(double) (var14 + par4 * var12),
|
||||||
|
(double) (var15 - par5 * var12 + par7 * var12),
|
||||||
|
(double) var9,
|
||||||
|
(double) var10
|
||||||
|
);
|
||||||
|
tessy.addVertexWithUV(
|
||||||
|
(double) (var13 + par3 * var12 + par6 * var12),
|
||||||
|
(double) (var14 + par4 * var12),
|
||||||
|
(double) (var15 + par5 * var12 + par7 * var12),
|
||||||
|
(double) var8,
|
||||||
|
(double) var10
|
||||||
|
);
|
||||||
|
tessy.addVertexWithUV(
|
||||||
|
(double) (var13 + par3 * var12 - par6 * var12),
|
||||||
|
(double) (var14 - par4 * var12),
|
||||||
|
(double) (var15 + par5 * var12 - par7 * var12),
|
||||||
|
(double) var8,
|
||||||
|
(double) var11
|
||||||
|
);
|
||||||
|
tessy.draw();
|
||||||
|
GL11.glDisable(3042);
|
||||||
|
GL11.glDepthMask(true);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
Minecraft.getMinecraft().getTextureManager().bindTexture(
|
||||||
|
new ResourceLocation("textures/particle/particles.png")
|
||||||
|
);
|
||||||
|
tessy.startDrawingQuads();
|
||||||
|
}
|
||||||
|
}
|
158
src/main/java/ley/modding/dartcraft/client/fx/FXWindWaker.java
Normal file
158
src/main/java/ley/modding/dartcraft/client/fx/FXWindWaker.java
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
package ley.modding.dartcraft.client.fx;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import ley.modding.dartcraft.Dartcraft;
|
||||||
|
import ley.modding.dartcraft.proxy.CommonProxy;
|
||||||
|
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 FXWindWaker extends EntityFX {
|
||||||
|
public static final int TYPE_FALL = 0;
|
||||||
|
public static final int TYPE_CHANGE = 1;
|
||||||
|
public static final int TYPE_BREAK = 2;
|
||||||
|
public static final int TYPE_SKATE = 3;
|
||||||
|
private int iconIndex;
|
||||||
|
|
||||||
|
public FXWindWaker(
|
||||||
|
World world, double x, double y, double z, double vx, double vy, double vz
|
||||||
|
) {
|
||||||
|
super(world, x, y, z, vx, vy, vz);
|
||||||
|
}
|
||||||
|
|
||||||
|
public FXWindWaker(World world, double x, double y, double z, int color, int type) {
|
||||||
|
super(world, x, y, z);
|
||||||
|
Color col = new Color(color);
|
||||||
|
this.particleRed = (float) col.getRed();
|
||||||
|
this.particleGreen = (float) col.getGreen();
|
||||||
|
this.particleBlue = (float) col.getBlue();
|
||||||
|
this.setSize(0.005F, 0.005F);
|
||||||
|
this.noClip = true;
|
||||||
|
this.iconIndex = 9 + this.rand.nextInt(3);
|
||||||
|
float velModifier;
|
||||||
|
switch (type) {
|
||||||
|
case 0:
|
||||||
|
this.motionX = this.motionZ = 0.0D;
|
||||||
|
this.motionY = -0.25D + this.rand.nextDouble() * 0.125D;
|
||||||
|
this.particleMaxAge = (int) (20.0D
|
||||||
|
* ((double) world.rand.nextFloat() * 0.2D
|
||||||
|
+ 0.8999999761581421D));
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
velModifier = 0.25F;
|
||||||
|
this.motionX = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.motionY = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.motionZ = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.particleMaxAge = (int) (10.0D
|
||||||
|
* ((double) world.rand.nextFloat() * 0.2D
|
||||||
|
+ 0.8999999761581421D));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
velModifier = 0.1F;
|
||||||
|
this.motionX = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.motionY = (double) velModifier;
|
||||||
|
this.motionZ = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.particleMaxAge = (int) (10.0D
|
||||||
|
* ((double) world.rand.nextFloat() * 0.2D
|
||||||
|
+ 0.8999999761581421D));
|
||||||
|
this.particleGravity = 0.5F;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
this.particleScale *= 0.33F;
|
||||||
|
velModifier = 0.1F;
|
||||||
|
this.motionX = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.motionY = (double) velModifier;
|
||||||
|
this.motionZ = (double) ((CommonProxy.rand.nextFloat() * 2.0F - 1.0F)
|
||||||
|
* velModifier);
|
||||||
|
this.particleMaxAge = (int) (10.0D
|
||||||
|
* ((double) world.rand.nextFloat() * 0.2D
|
||||||
|
+ 0.8999999761581421D));
|
||||||
|
this.particleGravity = 0.0F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onUpdate() {
|
||||||
|
super.onUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void renderParticle(
|
||||||
|
Tessellator tessy,
|
||||||
|
float par2,
|
||||||
|
float par3,
|
||||||
|
float par4,
|
||||||
|
float par5,
|
||||||
|
float par6,
|
||||||
|
float par7
|
||||||
|
) {
|
||||||
|
tessy.draw();
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glDepthMask(false);
|
||||||
|
GL11.glEnable(3042);
|
||||||
|
GL11.glBlendFunc(770, 1);
|
||||||
|
Dartcraft.proxy.bindTexture("darticles.png");
|
||||||
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
|
float var8 = (float) (this.iconIndex % 8) / 8.0F;
|
||||||
|
float var9 = var8 + 0.124875F;
|
||||||
|
float var10 = (float) (this.iconIndex / 8) / 8.0F;
|
||||||
|
float var11 = var10 + 0.124875F;
|
||||||
|
float var12 = 0.1F * this.particleScale;
|
||||||
|
float var13 = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) par2
|
||||||
|
- interpPosX);
|
||||||
|
float var14 = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) par2
|
||||||
|
- interpPosY);
|
||||||
|
float var15 = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) par2
|
||||||
|
- interpPosZ);
|
||||||
|
tessy.startDrawingQuads();
|
||||||
|
tessy.setBrightness(240);
|
||||||
|
tessy.setColorRGBA_F(
|
||||||
|
this.particleRed, this.particleGreen, this.particleBlue, 1.0F
|
||||||
|
);
|
||||||
|
tessy.addVertexWithUV(
|
||||||
|
(double) (var13 - par3 * var12 - par6 * var12),
|
||||||
|
(double) (var14 - par4 * var12),
|
||||||
|
(double) (var15 - par5 * var12 - par7 * var12),
|
||||||
|
(double) var9,
|
||||||
|
(double) var11
|
||||||
|
);
|
||||||
|
tessy.addVertexWithUV(
|
||||||
|
(double) (var13 - par3 * var12 + par6 * var12),
|
||||||
|
(double) (var14 + par4 * var12),
|
||||||
|
(double) (var15 - par5 * var12 + par7 * var12),
|
||||||
|
(double) var9,
|
||||||
|
(double) var10
|
||||||
|
);
|
||||||
|
tessy.addVertexWithUV(
|
||||||
|
(double) (var13 + par3 * var12 + par6 * var12),
|
||||||
|
(double) (var14 + par4 * var12),
|
||||||
|
(double) (var15 + par5 * var12 + par7 * var12),
|
||||||
|
(double) var8,
|
||||||
|
(double) var10
|
||||||
|
);
|
||||||
|
tessy.addVertexWithUV(
|
||||||
|
(double) (var13 + par3 * var12 - par6 * var12),
|
||||||
|
(double) (var14 - par4 * var12),
|
||||||
|
(double) (var15 + par5 * var12 - par7 * var12),
|
||||||
|
(double) var8,
|
||||||
|
(double) var11
|
||||||
|
);
|
||||||
|
tessy.draw();
|
||||||
|
GL11.glDisable(3042);
|
||||||
|
GL11.glDepthMask(true);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
Minecraft.getMinecraft().getTextureManager().bindTexture(
|
||||||
|
new ResourceLocation("textures/particle/particles.png")
|
||||||
|
);
|
||||||
|
tessy.startDrawingQuads();
|
||||||
|
}
|
||||||
|
}
|
|
@ -109,9 +109,7 @@ public class EntityTime extends Entity {
|
||||||
);
|
);
|
||||||
this.worldObj.removeEntity(j);
|
this.worldObj.removeEntity(j);
|
||||||
this.worldObj.spawnEntityInWorld(chance);
|
this.worldObj.spawnEntityInWorld(chance);
|
||||||
}
|
} else if (j instanceof EntityItem) {
|
||||||
|
|
||||||
if (j instanceof EntityItem) {
|
|
||||||
EntityItem var19 = (EntityItem) j;
|
EntityItem var19 = (EntityItem) j;
|
||||||
if (k.hasKey("timeImmune")) {
|
if (k.hasKey("timeImmune")) {
|
||||||
k.setInteger(
|
k.setInteger(
|
||||||
|
@ -247,7 +245,7 @@ public class EntityTime extends Entity {
|
||||||
this.posX,
|
this.posX,
|
||||||
this.posY,
|
this.posY,
|
||||||
this.posZ,
|
this.posZ,
|
||||||
80d
|
80f
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ import net.minecraft.entity.passive.EntityChicken;
|
||||||
import net.minecraft.entity.passive.EntityCow;
|
import net.minecraft.entity.passive.EntityCow;
|
||||||
import net.minecraft.entity.passive.EntityPig;
|
import net.minecraft.entity.passive.EntityPig;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.event.entity.player.EntityInteractEvent;
|
import net.minecraftforge.event.entity.player.EntityInteractEvent;
|
||||||
|
@ -116,16 +117,14 @@ public class EventHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemStack getDrop() {
|
ItemStack getDrop() {
|
||||||
// gotta use full names here, because tilera had the brilliant idea to call
|
|
||||||
// the mod item class "Items"
|
|
||||||
switch (this) {
|
switch (this) {
|
||||||
case COW:
|
case COW:
|
||||||
return new ItemStack(net.minecraft.init.Items.leather);
|
return new ItemStack(Items.leather);
|
||||||
case PIG:
|
case PIG:
|
||||||
// TODO: add bacon item
|
// TODO: add bacon item
|
||||||
return new ItemStack(net.minecraft.init.Items.porkchop);
|
return new ItemStack(Items.porkchop);
|
||||||
case CHICKEN:
|
case CHICKEN:
|
||||||
return new ItemStack(net.minecraft.init.Items.feather);
|
return new ItemStack(Items.feather);
|
||||||
|
|
||||||
// why is the compiler so stupid to think that this is required?
|
// why is the compiler so stupid to think that this is required?
|
||||||
default:
|
default:
|
||||||
|
|
143
src/main/java/ley/modding/dartcraft/handlers/TimeHandler.java
Normal file
143
src/main/java/ley/modding/dartcraft/handlers/TimeHandler.java
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
package ley.modding.dartcraft.handlers;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
|
import ley.modding.dartcraft.api.IBaneable;
|
||||||
|
import ley.modding.dartcraft.util.UpgradeHelper;
|
||||||
|
import net.minecraft.entity.monster.EntityCreeper;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraftforge.event.entity.EntityEvent.CanUpdate;
|
||||||
|
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
|
||||||
|
|
||||||
|
public class TimeHandler {
|
||||||
|
@SubscribeEvent
|
||||||
|
public void canUpdate(CanUpdate e) {
|
||||||
|
if (e.entity == null || e.entity.worldObj.isRemote)
|
||||||
|
return;
|
||||||
|
|
||||||
|
try {
|
||||||
|
NBTTagCompound ex = UpgradeHelper.getDartData(e.entity);
|
||||||
|
if (ex.getInteger("timeImmune") > 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ex.hasKey("time")) {
|
||||||
|
int type = ex.getInteger("time");
|
||||||
|
int time = ex.getInteger("timeTime");
|
||||||
|
switch (type) {
|
||||||
|
case 0:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
e.canUpdate = false;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (time % 8 != 0) {
|
||||||
|
e.canUpdate = false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
e.canUpdate = true;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
e.canUpdate = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ex.hasKey("frozen")) {
|
||||||
|
e.canUpdate = false;
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void updateEntity(LivingUpdateEvent e) {
|
||||||
|
if (e.entity == null || e.entity.worldObj.isRemote)
|
||||||
|
return;
|
||||||
|
try {
|
||||||
|
|
||||||
|
NBTTagCompound ex = UpgradeHelper.getDartData(e.entity);
|
||||||
|
if (ex.getInteger("timeImmune") > 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ex.hasKey("time") && !ex.getBoolean("updateCalling")) {
|
||||||
|
int type = ex.getInteger("time");
|
||||||
|
int time = ex.getInteger("timeTime");
|
||||||
|
--time;
|
||||||
|
int i;
|
||||||
|
switch (type) {
|
||||||
|
case 0:
|
||||||
|
case 2:
|
||||||
|
default:
|
||||||
|
if (time % 8 != 0) {
|
||||||
|
e.entity.motionX = 0.0D;
|
||||||
|
e.entity.motionY = 0.0D;
|
||||||
|
e.entity.motionZ = 0.0D;
|
||||||
|
e.entity.posX = e.entity.prevPosX;
|
||||||
|
e.entity.posY = e.entity.prevPosY;
|
||||||
|
e.entity.posZ = e.entity.prevPosZ;
|
||||||
|
e.entity.rotationPitch = e.entity.prevRotationPitch;
|
||||||
|
e.entity.rotationYaw = e.entity.prevRotationYaw;
|
||||||
|
e.setCanceled(true);
|
||||||
|
--e.entity.hurtResistantTime;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
e.entity.motionX = 0.0D;
|
||||||
|
e.entity.motionY = 0.0D;
|
||||||
|
e.entity.motionZ = 0.0D;
|
||||||
|
e.entity.posX = e.entity.prevPosX;
|
||||||
|
e.entity.posY = e.entity.prevPosY;
|
||||||
|
e.entity.posZ = e.entity.prevPosZ;
|
||||||
|
e.entity.rotationPitch = e.entity.prevRotationPitch;
|
||||||
|
e.entity.rotationYaw = e.entity.prevRotationYaw;
|
||||||
|
e.setCanceled(true);
|
||||||
|
--e.entity.hurtResistantTime;
|
||||||
|
if (e.entity instanceof EntityCreeper) {
|
||||||
|
EntityCreeper creep = (EntityCreeper) e.entity;
|
||||||
|
creep.fuseTime = 10;
|
||||||
|
creep.explosionRadius = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.entity instanceof IBaneable) {
|
||||||
|
((IBaneable) e.entity).setBaned();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
ex.setBoolean("updateCalling", true);
|
||||||
|
|
||||||
|
for (i = 0; i < 3; ++i) {
|
||||||
|
e.entity.onUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
ex.removeTag("updateCalling");
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
ex.setBoolean("updateCalling", true);
|
||||||
|
|
||||||
|
for (i = 0; i < 11; ++i) {
|
||||||
|
e.entity.onUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
ex.removeTag("updateCalling");
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: WTF
|
||||||
|
//if (e.entity instanceof EntityBeeSwarm && (type == 3 || type == 4)) {
|
||||||
|
// ((EntityBeeSwarm) e.entity).lifeTime += type == 3 ? 3 : 11;
|
||||||
|
//}
|
||||||
|
|
||||||
|
if (time > 0) {
|
||||||
|
ex.setInteger("timeTime", time);
|
||||||
|
} else {
|
||||||
|
ex.removeTag("timeTime");
|
||||||
|
ex.removeTag("time");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package ley.modding.dartcraft.integration;
|
||||||
|
|
||||||
|
import ley.modding.dartcraft.proxy.CommonProxy;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import thaumcraft.api.aspects.Aspect;
|
||||||
|
import thaumcraft.common.tiles.TileDeconstructionTable;
|
||||||
|
|
||||||
|
public class ThaumCraftIntegration {
|
||||||
|
public static final Aspect[] PRIMAL_ASPECTS
|
||||||
|
= { Aspect.AIR, Aspect.EARTH, Aspect.FIRE,
|
||||||
|
Aspect.WATER, Aspect.ORDER, Aspect.ENTROPY };
|
||||||
|
|
||||||
|
public static boolean isDeconstructorWithoutAspect(TileEntity tile) {
|
||||||
|
if (!(tile instanceof TileDeconstructionTable))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return ((TileDeconstructionTable) tile).aspect == null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Caller asserts that decon is a TileDeconstructionTable
|
||||||
|
*/
|
||||||
|
public static void setDeconAspect(TileEntity tile) {
|
||||||
|
TileDeconstructionTable table = (TileDeconstructionTable) tile;
|
||||||
|
|
||||||
|
Aspect aspect = PRIMAL_ASPECTS[CommonProxy.rand.nextInt(PRIMAL_ASPECTS.length)];
|
||||||
|
table.aspect = aspect;
|
||||||
|
table.markDirty();
|
||||||
|
table.getWorldObj().markBlockForUpdate(table.xCoord, table.yCoord, table.zCoord);
|
||||||
|
}
|
||||||
|
}
|
|
@ -8,6 +8,7 @@ import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import ley.modding.dartcraft.util.FXUtils;
|
import ley.modding.dartcraft.util.FXUtils;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class PacketFX implements IMessage {
|
public class PacketFX implements IMessage {
|
||||||
public double x;
|
public double x;
|
||||||
|
@ -58,7 +59,10 @@ public class PacketFX implements IMessage {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static enum Type {
|
public static enum Type {
|
||||||
TIME;
|
TIME,
|
||||||
|
CHANGE,
|
||||||
|
CURE,
|
||||||
|
HEAT;
|
||||||
|
|
||||||
public static Type fromInt(int i) {
|
public static Type fromInt(int i) {
|
||||||
if (i >= 0 && i < Type.values().length)
|
if (i >= 0 && i < Type.values().length)
|
||||||
|
@ -71,18 +75,38 @@ public class PacketFX implements IMessage {
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public IMessage onMessage(PacketFX pkt, MessageContext ctx) {
|
public IMessage onMessage(PacketFX pkt, MessageContext ctx) {
|
||||||
|
World world = FMLClientHandler.instance().getClientPlayerEntity().worldObj;
|
||||||
switch (pkt.type) {
|
switch (pkt.type) {
|
||||||
case TIME:
|
case TIME:
|
||||||
FXUtils.makeTimeEffects(
|
FXUtils.makeTimeEffects(
|
||||||
FMLClientHandler.instance().getClientPlayerEntity().worldObj,
|
world, pkt.x, pkt.y, pkt.z, pkt.subType, pkt.amount, pkt.area
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CHANGE:
|
||||||
|
FXUtils.makeWWEffects(
|
||||||
|
world,
|
||||||
pkt.x,
|
pkt.x,
|
||||||
pkt.y,
|
pkt.y,
|
||||||
pkt.z,
|
pkt.z,
|
||||||
1,
|
0xffffff,
|
||||||
|
pkt.subType,
|
||||||
pkt.amount,
|
pkt.amount,
|
||||||
pkt.area
|
pkt.area
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CURE:
|
||||||
|
FXUtils.makeCureEffects(
|
||||||
|
world, pkt.x, pkt.y, pkt.z, pkt.subType, 0x4bb218, pkt.amount
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case HEAT:
|
||||||
|
FXUtils.makeHeatEffects(
|
||||||
|
world, pkt.x, pkt.y, pkt.z, pkt.amount, pkt.area
|
||||||
|
);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -3,9 +3,12 @@ package ley.modding.dartcraft.tile;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import cpw.mods.fml.common.Loader;
|
import cpw.mods.fml.common.Loader;
|
||||||
|
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||||
import ley.modding.dartcraft.Config;
|
import ley.modding.dartcraft.Config;
|
||||||
import ley.modding.dartcraft.Dartcraft;
|
import ley.modding.dartcraft.Dartcraft;
|
||||||
import ley.modding.dartcraft.entity.EntityTime;
|
import ley.modding.dartcraft.entity.EntityTime;
|
||||||
|
import ley.modding.dartcraft.integration.ThaumCraftIntegration;
|
||||||
|
import ley.modding.dartcraft.network.PacketFX;
|
||||||
import ley.modding.dartcraft.util.DartUtils;
|
import ley.modding.dartcraft.util.DartUtils;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.boss.EntityWither;
|
import net.minecraft.entity.boss.EntityWither;
|
||||||
|
@ -78,14 +81,28 @@ public class TileEntityForceTorch extends TileEntity {
|
||||||
if (entity.getHealth() < entityUpgrades) {
|
if (entity.getHealth() < entityUpgrades) {
|
||||||
entity.heal((float) (tile * 2));
|
entity.heal((float) (tile * 2));
|
||||||
k = true;
|
k = true;
|
||||||
// TODO
|
|
||||||
//PacketHelper.sendCureFXToClients(
|
Dartcraft.channel.sendToAllAround(
|
||||||
// entity, 8 * tile
|
new PacketFX(
|
||||||
//);
|
entity.posX,
|
||||||
|
entity.posY + (entity.height / 2d),
|
||||||
|
entity.posZ,
|
||||||
|
PacketFX.Type.CURE,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
8 * tile
|
||||||
|
),
|
||||||
|
new TargetPoint(
|
||||||
|
this.worldObj.provider.dimensionId,
|
||||||
|
entity.posX,
|
||||||
|
entity.posY,
|
||||||
|
entity.posZ,
|
||||||
|
80f
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// TODO
|
entity.attackEntityFrom(DamageSource.magic, 2f);
|
||||||
//entity.attackEntityFrom(PunishDamage.instance, 2.0F);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (k) {
|
if (k) {
|
||||||
|
@ -120,17 +137,33 @@ public class TileEntityForceTorch extends TileEntity {
|
||||||
);
|
);
|
||||||
boolean k = false;
|
boolean k = false;
|
||||||
|
|
||||||
for (EntityLivingBase var18 : j) {
|
for (EntityLivingBase remEnt : j) {
|
||||||
if (var18 != null
|
if ((remEnt instanceof EntityMob
|
||||||
&& (var18 instanceof EntityMob
|
|| remEnt instanceof EntitySlime
|
||||||
|| var18 instanceof EntitySlime
|
|| remEnt instanceof EntityGhast)
|
||||||
|| var18 instanceof EntityGhast)
|
&& !(remEnt instanceof EntityWitch)
|
||||||
&& !(var18 instanceof EntityWitch)
|
&& !(remEnt instanceof EntityWither)) {
|
||||||
&& !(var18 instanceof EntityWither)) {
|
this.worldObj.removeEntity(remEnt);
|
||||||
this.worldObj.removeEntity(var18);
|
|
||||||
k = true;
|
k = true;
|
||||||
// TODO
|
|
||||||
//PacketHelper.sendChangeFXToClients(var18, 16);
|
Dartcraft.channel.sendToAllAround(
|
||||||
|
new PacketFX(
|
||||||
|
remEnt.posX,
|
||||||
|
remEnt.posY + (remEnt.height / 2d),
|
||||||
|
remEnt.posZ,
|
||||||
|
PacketFX.Type.CHANGE,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
16
|
||||||
|
),
|
||||||
|
new TargetPoint(
|
||||||
|
this.worldObj.provider.dimensionId,
|
||||||
|
remEnt.posX,
|
||||||
|
remEnt.posY + (remEnt.height / 2d),
|
||||||
|
remEnt.posZ,
|
||||||
|
80f
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,9 +214,25 @@ public class TileEntityForceTorch extends TileEntity {
|
||||||
DamageSource.inFire, 0.5F * (float) tile
|
DamageSource.inFire, 0.5F * (float) tile
|
||||||
);
|
);
|
||||||
k = true;
|
k = true;
|
||||||
// TODO
|
|
||||||
//PacketHelper.sendHeatFXToClients(entity, 8 * tile,
|
Dartcraft.channel.sendToAllAround(
|
||||||
//0);
|
new PacketFX(
|
||||||
|
entity.posX,
|
||||||
|
entity.posY + (entity.height / 2d),
|
||||||
|
entity.posZ,
|
||||||
|
PacketFX.Type.HEAT,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
8 * tile
|
||||||
|
),
|
||||||
|
new TargetPoint(
|
||||||
|
this.worldObj.provider.dimensionId,
|
||||||
|
entity.posX,
|
||||||
|
entity.posY,
|
||||||
|
entity.posZ,
|
||||||
|
80f
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -205,23 +254,24 @@ public class TileEntityForceTorch extends TileEntity {
|
||||||
|
|
||||||
if (this.upgrades.hasKey("Repair") && Loader.isModLoaded("Thaumcraft")) {
|
if (this.upgrades.hasKey("Repair") && Loader.isModLoaded("Thaumcraft")) {
|
||||||
try {
|
try {
|
||||||
|
outer:
|
||||||
for (time = -Config.torchDist; time < Config.torchDist; ++time) {
|
for (time = -Config.torchDist; time < Config.torchDist; ++time) {
|
||||||
for (int var15 = -Config.torchDist; var15 < Config.torchDist;
|
for (int var15 = -Config.torchDist; var15 < Config.torchDist;
|
||||||
++var15) {
|
++var15) {
|
||||||
for (int var19 = -Config.torchDist;
|
for (int var19 = -Config.torchDist;
|
||||||
var19 < Config.torchDist;
|
var19 < Config.torchDist;
|
||||||
++var19) {
|
++var19) {
|
||||||
TileEntity var17 = this.worldObj.getTileEntity(
|
TileEntity tile = this.worldObj.getTileEntity(
|
||||||
this.xCoord + time,
|
this.xCoord + time,
|
||||||
this.yCoord + var15,
|
this.yCoord + var15,
|
||||||
this.zCoord + var19
|
this.zCoord + var19
|
||||||
);
|
);
|
||||||
// TODO: TC
|
|
||||||
//if (var17 != null
|
if (ThaumCraftIntegration
|
||||||
// && ThaumCraftIntegration.isDeconstructor(var17))
|
.isDeconstructorWithoutAspect(tile)) {
|
||||||
// { ThaumCraftIntegration.setDeconAspect(var17);
|
ThaumCraftIntegration.setDeconAspect(tile);
|
||||||
// break label110;
|
break outer;
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,10 @@ import org.lwjgl.opengl.GL11;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import ley.modding.dartcraft.Dartcraft;
|
import ley.modding.dartcraft.Dartcraft;
|
||||||
|
import ley.modding.dartcraft.client.fx.FXCure;
|
||||||
import ley.modding.dartcraft.client.fx.FXDisney;
|
import ley.modding.dartcraft.client.fx.FXDisney;
|
||||||
import ley.modding.dartcraft.client.fx.FXTime;
|
import ley.modding.dartcraft.client.fx.FXTime;
|
||||||
|
import ley.modding.dartcraft.client.fx.FXWindWaker;
|
||||||
import ley.modding.dartcraft.proxy.CommonProxy;
|
import ley.modding.dartcraft.proxy.CommonProxy;
|
||||||
import net.minecraft.client.particle.EffectRenderer;
|
import net.minecraft.client.particle.EffectRenderer;
|
||||||
import net.minecraft.client.particle.EntityFireworkStarterFX;
|
import net.minecraft.client.particle.EntityFireworkStarterFX;
|
||||||
|
@ -155,23 +157,17 @@ public class FXUtils {
|
||||||
if (!Dartcraft.proxy.isSimulating(world)) {
|
if (!Dartcraft.proxy.isSimulating(world)) {
|
||||||
for (int i = 0; i < number; ++i) {
|
for (int i = 0; i < number; ++i) {
|
||||||
double var19 = (double) i / ((double) number - 1.0D);
|
double var19 = (double) i / ((double) number - 1.0D);
|
||||||
CommonProxy var10000 = Dartcraft.proxy;
|
|
||||||
float var21 = (CommonProxy.rand.nextFloat() - 0.5F) * 0.2F;
|
float var21 = (CommonProxy.rand.nextFloat() - 0.5F) * 0.2F;
|
||||||
var10000 = Dartcraft.proxy;
|
|
||||||
float var22 = (CommonProxy.rand.nextFloat() - 0.5F) * 0.2F;
|
float var22 = (CommonProxy.rand.nextFloat() - 0.5F) * 0.2F;
|
||||||
var10000 = Dartcraft.proxy;
|
|
||||||
float var23 = (CommonProxy.rand.nextFloat() - 0.5F) * 0.2F;
|
float var23 = (CommonProxy.rand.nextFloat() - 0.5F) * 0.2F;
|
||||||
double var221 = prevX + (entity.posX - prevX) * var19;
|
double var221 = prevX + (entity.posX - prevX) * var19;
|
||||||
CommonProxy var10001 = Dartcraft.proxy;
|
|
||||||
double var24 = var221
|
double var24 = var221
|
||||||
+ (CommonProxy.rand.nextDouble() - 0.5D) * (double) entity.width
|
+ (CommonProxy.rand.nextDouble() - 0.5D) * (double) entity.width
|
||||||
* 2.0D;
|
* 2.0D;
|
||||||
var221 = prevY + (entity.posY - prevY) * var19;
|
var221 = prevY + (entity.posY - prevY) * var19;
|
||||||
var10001 = Dartcraft.proxy;
|
|
||||||
double var26
|
double var26
|
||||||
= var221 + CommonProxy.rand.nextDouble() * (double) entity.height;
|
= var221 + CommonProxy.rand.nextDouble() * (double) entity.height;
|
||||||
var221 = prevZ + (entity.posZ - prevZ) * var19;
|
var221 = prevZ + (entity.posZ - prevZ) * var19;
|
||||||
var10001 = Dartcraft.proxy;
|
|
||||||
double var28 = var221
|
double var28 = var221
|
||||||
+ (CommonProxy.rand.nextDouble() - 0.5D) * (double) entity.width
|
+ (CommonProxy.rand.nextDouble() - 0.5D) * (double) entity.width
|
||||||
* 2.0D;
|
* 2.0D;
|
||||||
|
@ -246,24 +242,18 @@ public class FXUtils {
|
||||||
World world, double x2, double y2, double z2, int type, int particles
|
World world, double x2, double y2, double z2, int type, int particles
|
||||||
) {
|
) {
|
||||||
float modifier = 0.5F;
|
float modifier = 0.5F;
|
||||||
float velModifier = 1.0F;
|
|
||||||
EffectRenderer renderer = Dartcraft.proxy.getClientInstance().effectRenderer;
|
EffectRenderer renderer = Dartcraft.proxy.getClientInstance().effectRenderer;
|
||||||
|
|
||||||
for (int i = 0; i < particles; ++i) {
|
for (int i = 0; i < particles; ++i) {
|
||||||
CommonProxy var10001 = Dartcraft.proxy;
|
|
||||||
float x = (float) (x2 + (double) (CommonProxy.rand.nextFloat() * modifier)
|
float x = (float) (x2 + (double) (CommonProxy.rand.nextFloat() * modifier)
|
||||||
- (double) (modifier / 2.0F));
|
- (double) (modifier / 2.0F));
|
||||||
var10001 = Dartcraft.proxy;
|
|
||||||
float y = (float) (y2 + (double) (CommonProxy.rand.nextFloat() * modifier)
|
float y = (float) (y2 + (double) (CommonProxy.rand.nextFloat() * modifier)
|
||||||
- (double) (modifier / 2.0F));
|
- (double) (modifier / 2.0F));
|
||||||
var10001 = Dartcraft.proxy;
|
|
||||||
float z = (float) (z2 + (double) (CommonProxy.rand.nextFloat() * modifier)
|
float z = (float) (z2 + (double) (CommonProxy.rand.nextFloat() * modifier)
|
||||||
- (double) (modifier / 2.0F));
|
- (double) (modifier / 2.0F));
|
||||||
// TODO
|
renderer.addEffect(
|
||||||
//renderer.addEffect(
|
new FXWindWaker(world, (double) x, (double) y, (double) z, 0xffffff, type)
|
||||||
// new FXWindWaker(world, (double) x, (double) y, (double) z, 16777215,
|
);
|
||||||
// type)
|
|
||||||
//);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -274,17 +264,12 @@ public class FXUtils {
|
||||||
float modifier = 1.0F;
|
float modifier = 1.0F;
|
||||||
|
|
||||||
for (int i = 0; i < particles; ++i) {
|
for (int i = 0; i < particles; ++i) {
|
||||||
CommonProxy var10001 = Dartcraft.proxy;
|
|
||||||
float x2 = (float) (x + (double) (CommonProxy.rand.nextFloat() * modifier));
|
float x2 = (float) (x + (double) (CommonProxy.rand.nextFloat() * modifier));
|
||||||
var10001 = Dartcraft.proxy;
|
|
||||||
float y2 = (float) (y + (double) (CommonProxy.rand.nextFloat() * modifier));
|
float y2 = (float) (y + (double) (CommonProxy.rand.nextFloat() * modifier));
|
||||||
var10001 = Dartcraft.proxy;
|
|
||||||
float z2 = (float) (z + (double) (CommonProxy.rand.nextFloat() * modifier));
|
float z2 = (float) (z + (double) (CommonProxy.rand.nextFloat() * modifier));
|
||||||
// TODO
|
renderer.addEffect(
|
||||||
//renderer.addEffect(
|
new FXWindWaker(world, (double) x2, (double) y2, (double) z2, '\ue4ff', 0)
|
||||||
// new FXWindWaker(world, (double) x2, (double) y2, (double) z2, '\ue4ff',
|
);
|
||||||
// 0)
|
|
||||||
//);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -295,17 +280,12 @@ public class FXUtils {
|
||||||
float modifier = 1.0F;
|
float modifier = 1.0F;
|
||||||
|
|
||||||
for (int i = 0; i < particles; ++i) {
|
for (int i = 0; i < particles; ++i) {
|
||||||
CommonProxy var10001 = Dartcraft.proxy;
|
|
||||||
float x2 = (float) (x + (double) (CommonProxy.rand.nextFloat() * modifier));
|
float x2 = (float) (x + (double) (CommonProxy.rand.nextFloat() * modifier));
|
||||||
var10001 = Dartcraft.proxy;
|
|
||||||
float y2 = (float) (y + (double) (CommonProxy.rand.nextFloat() * modifier));
|
float y2 = (float) (y + (double) (CommonProxy.rand.nextFloat() * modifier));
|
||||||
var10001 = Dartcraft.proxy;
|
|
||||||
float z2 = (float) (z + (double) (CommonProxy.rand.nextFloat() * modifier));
|
float z2 = (float) (z + (double) (CommonProxy.rand.nextFloat() * modifier));
|
||||||
// TODO
|
renderer.addEffect(
|
||||||
//renderer.addEffect(
|
new FXWindWaker(world, (double) x2, (double) y2, (double) z2, '\ue4ff', 3)
|
||||||
// new FXWindWaker(world, (double) x2, (double) y2, (double) z2, '\ue4ff',
|
);
|
||||||
// 3)
|
|
||||||
//);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -407,16 +387,15 @@ public class FXUtils {
|
||||||
EffectRenderer renderer = Dartcraft.proxy.getClientInstance().effectRenderer;
|
EffectRenderer renderer = Dartcraft.proxy.getClientInstance().effectRenderer;
|
||||||
|
|
||||||
for (int i = 0; i < num; ++i) {
|
for (int i = 0; i < num; ++i) {
|
||||||
// TODO
|
FXCure fx = new FXCure(
|
||||||
//FXCure fx = new FXCure(
|
world,
|
||||||
// world,
|
x + world.rand.nextDouble() - world.rand.nextDouble(),
|
||||||
// x + world.rand.nextDouble() - world.rand.nextDouble(),
|
y + world.rand.nextDouble() - world.rand.nextDouble(),
|
||||||
// y + world.rand.nextDouble() - world.rand.nextDouble(),
|
z + world.rand.nextDouble() - world.rand.nextDouble(),
|
||||||
// z + world.rand.nextDouble() - world.rand.nextDouble(),
|
color,
|
||||||
// color,
|
type
|
||||||
// type
|
);
|
||||||
//);
|
renderer.addEffect(fx);
|
||||||
//renderer.addEffect(fx);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -544,35 +523,33 @@ public class FXUtils {
|
||||||
for (int fx = -area; fx < area + 1; ++fx) {
|
for (int fx = -area; fx < area + 1; ++fx) {
|
||||||
for (int k = -area; k < area + 1; ++k) {
|
for (int k = -area; k < area + 1; ++k) {
|
||||||
for (int l = 0; l < num; ++l) {
|
for (int l = 0; l < num; ++l) {
|
||||||
// TODO
|
FXWindWaker fx1 = new FXWindWaker(
|
||||||
//FXWindWaker fx1 = new FXWindWaker(
|
world,
|
||||||
// world,
|
x + (double) i + world.rand.nextDouble()
|
||||||
// x + (double) i + world.rand.nextDouble()
|
- world.rand.nextDouble(),
|
||||||
// - world.rand.nextDouble(),
|
y + (double) fx + world.rand.nextDouble()
|
||||||
// y + (double) fx + world.rand.nextDouble()
|
- world.rand.nextDouble(),
|
||||||
// - world.rand.nextDouble(),
|
z + (double) k + world.rand.nextDouble()
|
||||||
// z + (double) k + world.rand.nextDouble()
|
- world.rand.nextDouble(),
|
||||||
// - world.rand.nextDouble(),
|
color,
|
||||||
// color,
|
type
|
||||||
// type
|
);
|
||||||
//);
|
renderer.addEffect(fx1);
|
||||||
//renderer.addEffect(fx1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (i = 0; i < num; ++i) {
|
for (i = 0; i < num; ++i) {
|
||||||
// TODO
|
FXWindWaker var17 = new FXWindWaker(
|
||||||
//FXWindWaker var17 = new FXWindWaker(
|
world,
|
||||||
// world,
|
x + world.rand.nextDouble() - world.rand.nextDouble(),
|
||||||
// x + world.rand.nextDouble() - world.rand.nextDouble(),
|
y + world.rand.nextDouble() - world.rand.nextDouble(),
|
||||||
// y + world.rand.nextDouble() - world.rand.nextDouble(),
|
z + world.rand.nextDouble() - world.rand.nextDouble(),
|
||||||
// z + world.rand.nextDouble() - world.rand.nextDouble(),
|
color,
|
||||||
// color,
|
type
|
||||||
// type
|
);
|
||||||
//);
|
renderer.addEffect(var17);
|
||||||
//renderer.addEffect(var17);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
src/main/resources/META-INF/dartcraft_at.cfg
Normal file
2
src/main/resources/META-INF/dartcraft_at.cfg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
public net.minecraft.entity.monster.EntityCreeper field_82225_f # fuseTime
|
||||||
|
public net.minecraft.entity.monster.EntityCreeper field_82226_g # explosionRadius
|
|
@ -1,6 +1,64 @@
|
||||||
{
|
{
|
||||||
"bottle": {"category": "master","sounds": [{"name": "bottle","stream": false}]},
|
"bottle": {
|
||||||
"swipe": {"category": "master","sounds": [{"name": "swipe","stream": false}]},
|
"category": "master",
|
||||||
"fly": {"category": "master","sounds": [{"name": "fly1","stream": false}, {"name": "fly2","stream": false}, {"name": "fly3","stream": false}]},
|
"sounds": [
|
||||||
"nope": {"category": "master","sounds": [{"name": "nope","stream": false}]}
|
{
|
||||||
|
"name": "bottle",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"cure": {
|
||||||
|
"category": "master",
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "cure",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fly": {
|
||||||
|
"category": "master",
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "fly1",
|
||||||
|
"stream": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fly2",
|
||||||
|
"stream": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fly3",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ignite": {
|
||||||
|
"category": "master",
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "ignite",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"nope": {
|
||||||
|
"category": "master",
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "nope",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"swipe": {
|
||||||
|
"category": "master",
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "swipe",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
BIN
src/main/resources/assets/dartcraft/sounds/cure.ogg
Normal file
BIN
src/main/resources/assets/dartcraft/sounds/cure.ogg
Normal file
Binary file not shown.
BIN
src/main/resources/assets/dartcraft/sounds/ignite.ogg
Normal file
BIN
src/main/resources/assets/dartcraft/sounds/ignite.ogg
Normal file
Binary file not shown.
Loading…
Reference in a new issue