fixed mob spawner, fixed beacon

This commit is contained in:
LAX1DUDE 2022-01-24 16:19:55 -08:00
parent 6b91ac0576
commit 79ba9f2580
8 changed files with 54 additions and 14 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -4,7 +4,7 @@ public class ConfigConstants {
public static boolean profanity = false; public static boolean profanity = false;
public static final String version = "22w03c"; public static final String version = "22w04a";
public static final String mainMenuString = "eaglercraft " + version; public static final String mainMenuString = "eaglercraft " + version;
public static final String forkMe = "https://github.com/LAX1DUDE/eaglercraft"; public static final String forkMe = "https://github.com/LAX1DUDE/eaglercraft";

View File

@ -48,15 +48,18 @@ public class EntityList {
*/ */
public static Entity createEntityByName(String par0Str, World par1World) { public static Entity createEntityByName(String par0Str, World par1World) {
Entity var2 = null; Entity var2 = null;
Class var3 = (Class) stringToClassMapping.get(par0Str);
try { if (var3 != null) {
Class var3 = (Class) stringToClassMapping.get(par0Str); try {
if (var3 != null) {
var2 = (Entity) var3.getConstructor(new Class[] { World.class }).newInstance(new Object[] { par1World }); var2 = (Entity) var3.getConstructor(new Class[] { World.class }).newInstance(new Object[] { par1World });
} catch (Exception var4) {
try {
var2 = (Entity) var3.getConstructor(new Class[0]).newInstance(new Object[0]);
} catch (Exception e) {
e.printStackTrace();
}
} }
} catch (Exception var4) {
var4.printStackTrace();
} }
return var2; return var2;

View File

@ -4,6 +4,7 @@ import net.lax1dude.eaglercraft.EaglerAdapter;
import net.lax1dude.eaglercraft.TextureLocation; import net.lax1dude.eaglercraft.TextureLocation;
import net.lax1dude.eaglercraft.adapter.Tessellator; import net.lax1dude.eaglercraft.adapter.Tessellator;
import net.minecraft.client.Minecraft;
public class TileEntityBeaconRenderer extends TileEntitySpecialRenderer { public class TileEntityBeaconRenderer extends TileEntitySpecialRenderer {
@ -23,9 +24,10 @@ public class TileEntityBeaconRenderer extends TileEntitySpecialRenderer {
EaglerAdapter.glDisable(EaglerAdapter.GL_LIGHTING); EaglerAdapter.glDisable(EaglerAdapter.GL_LIGHTING);
EaglerAdapter.glDisable(EaglerAdapter.GL_CULL_FACE); EaglerAdapter.glDisable(EaglerAdapter.GL_CULL_FACE);
EaglerAdapter.glDisable(EaglerAdapter.GL_BLEND); EaglerAdapter.glDisable(EaglerAdapter.GL_BLEND);
EaglerAdapter.glDisable(EaglerAdapter.GL_ALPHA_TEST);
EaglerAdapter.glDepthMask(true); EaglerAdapter.glDepthMask(true);
EaglerAdapter.glBlendFunc(EaglerAdapter.GL_SRC_ALPHA, EaglerAdapter.GL_ONE); EaglerAdapter.glBlendFunc(EaglerAdapter.GL_SRC_ALPHA, EaglerAdapter.GL_ONE);
float var11 = (float) par1TileEntityBeacon.getWorldObj().getTotalWorldTime() + par8; float var11 = ((System.currentTimeMillis() % 200000) / 50.0f);//par1TileEntityBeacon.getWorldObj().getWorldTime() + par8;
float var12 = -var11 * 0.2F - (float) MathHelper.floor_float(-var11 * 0.1F); float var12 = -var11 * 0.2F - (float) MathHelper.floor_float(-var11 * 0.1F);
byte var13 = 1; byte var13 = 1;
double var14 = (double) var11 * 0.025D * (1.0D - (double) (var13 & 1) * 2.5D); double var14 = (double) var11 * 0.025D * (1.0D - (double) (var13 & 1) * 2.5D);
@ -99,6 +101,7 @@ public class TileEntityBeaconRenderer extends TileEntitySpecialRenderer {
var10.draw(); var10.draw();
EaglerAdapter.glEnable(EaglerAdapter.GL_LIGHTING); EaglerAdapter.glEnable(EaglerAdapter.GL_LIGHTING);
EaglerAdapter.glEnable(EaglerAdapter.GL_TEXTURE_2D); EaglerAdapter.glEnable(EaglerAdapter.GL_TEXTURE_2D);
EaglerAdapter.glEnable(EaglerAdapter.GL_ALPHA_TEST);
EaglerAdapter.glDepthMask(true); EaglerAdapter.glDepthMask(true);
} }
} }

View File

@ -2,10 +2,16 @@ package net.minecraft.src;
public class TileEntityMobSpawner extends TileEntity { public class TileEntityMobSpawner extends TileEntity {
public String mobID = "Pig";
public Entity mobObject = null;
public int rotateTicks = 0;
/** /**
* Reads a tile entity from NBT. * Reads a tile entity from NBT.
*/ */
public void readFromNBT(NBTTagCompound par1NBTTagCompound) { public void readFromNBT(NBTTagCompound par1NBTTagCompound) {
this.mobID = par1NBTTagCompound.getString("EntityId");
this.mobObject = null;
super.readFromNBT(par1NBTTagCompound); super.readFromNBT(par1NBTTagCompound);
} }
@ -21,16 +27,15 @@ public class TileEntityMobSpawner extends TileEntity {
worldObj.spawnParticle("flame", this.xCoord + worldObj.rand.nextFloat(), this.yCoord + worldObj.rand.nextFloat(), this.zCoord + worldObj.rand.nextFloat(), 0.0D, 0.0D, 0.0D); worldObj.spawnParticle("flame", this.xCoord + worldObj.rand.nextFloat(), this.yCoord + worldObj.rand.nextFloat(), this.zCoord + worldObj.rand.nextFloat(), 0.0D, 0.0D, 0.0D);
worldObj.spawnParticle("flame", this.xCoord + worldObj.rand.nextFloat(), this.yCoord + worldObj.rand.nextFloat(), this.zCoord + worldObj.rand.nextFloat(), 0.0D, 0.0D, 0.0D); worldObj.spawnParticle("flame", this.xCoord + worldObj.rand.nextFloat(), this.yCoord + worldObj.rand.nextFloat(), this.zCoord + worldObj.rand.nextFloat(), 0.0D, 0.0D, 0.0D);
} }
++rotateTicks;
} }
/** /**
* Overriden in a sign to provide the text. * Overriden in a sign to provide the text.
*/ */
public Packet getDescriptionPacket() { public Packet getDescriptionPacket() {
NBTTagCompound var1 = new NBTTagCompound(); return null;
this.writeToNBT(var1);
var1.removeTag("SpawnPotentials");
return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 1, var1);
} }
} }

View File

@ -0,0 +1,28 @@
package net.minecraft.src;
import net.lax1dude.eaglercraft.EaglerAdapter;
public class TileEntityMobSpawnerRenderer extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity var1, double var2, double var4, double var6, float var8) {
TileEntityMobSpawner spawner = (TileEntityMobSpawner) var1;
if(spawner.mobObject == null) {
spawner.mobObject = EntityList.createEntityByName(spawner.mobID, spawner.worldObj);
spawner.mobObject.setWorld(spawner.worldObj);
}
if(spawner.mobObject != null) {
EaglerAdapter.glPushMatrix();
EaglerAdapter.glTranslatef((float)var2 + 0.5F, (float)var4 + 0.4f, (float)var6 + 0.5F);
EaglerAdapter.glRotatef((spawner.rotateTicks + var8) * 50.0f, 0.0f, 1.0f, 0.0f);
EaglerAdapter.glRotatef(-30.0f, 1.0f, 0.0f, 0.0f);
EaglerAdapter.glTranslatef(0.0f, -0.4f, 0.0f);
float var9 = 0.4375F;
EaglerAdapter.glScalef(var9, var9, var9);
spawner.mobObject.setLocationAndAngles(var2, var4, var6, 0.0f, 0.0f);
RenderManager.instance.renderEntityWithPosYaw(spawner.mobObject, 0.0D, 0.0D, 0.0D, 0.0F, var8);
EaglerAdapter.glPopMatrix();
}
}
}

View File

@ -54,6 +54,7 @@ public class TileEntityRenderer {
this.specialRendererMap.put(TileEntityEndPortal.class, new RenderEndPortal()); this.specialRendererMap.put(TileEntityEndPortal.class, new RenderEndPortal());
this.specialRendererMap.put(TileEntityBeacon.class, new TileEntityBeaconRenderer()); this.specialRendererMap.put(TileEntityBeacon.class, new TileEntityBeaconRenderer());
this.specialRendererMap.put(TileEntitySkull.class, new TileEntitySkullRenderer()); this.specialRendererMap.put(TileEntitySkull.class, new TileEntitySkullRenderer());
this.specialRendererMap.put(TileEntityMobSpawner.class, new TileEntityMobSpawnerRenderer());
Iterator var1 = this.specialRendererMap.values().iterator(); Iterator var1 = this.specialRendererMap.values().iterator();
while (var1.hasNext()) { while (var1.hasNext()) {

File diff suppressed because one or more lines are too long