2015-04-23 16:14:22 +00:00
|
|
|
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
|
|
|
|
// Jad home page: http://www.kpdus.com/jad.html
|
|
|
|
// Decompiler options: packimports(3)
|
|
|
|
// Source File Name: GT_Client.java
|
|
|
|
|
|
|
|
package gregtech.common;
|
|
|
|
|
|
|
|
import gregtech.api.GregTech_API;
|
2016-09-06 09:53:19 +00:00
|
|
|
import gregtech.api.enums.*;
|
2015-10-22 02:06:25 +00:00
|
|
|
import gregtech.api.util.GT_Log;
|
|
|
|
import gregtech.api.util.GT_Utility;
|
2015-04-23 16:14:22 +00:00
|
|
|
import gregtech.common.entities.GT_Entity_Arrow;
|
|
|
|
import gregtech.common.entities.GT_Entity_Arrow_Potion;
|
2016-10-02 04:15:33 +00:00
|
|
|
import gregtech.common.render.entity.GT_CapeRenderer;
|
|
|
|
import gregtech.common.render.entity.GT_Renderer_Entity_Arrow;
|
|
|
|
import gregtech.common.render.GT_RenderDispatcher;
|
2015-04-23 16:14:22 +00:00
|
|
|
import net.minecraft.client.Minecraft;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
import net.minecraft.item.ItemStack;
|
2016-08-18 13:45:25 +00:00
|
|
|
import net.minecraft.util.text.TextComponentString;
|
2015-04-23 16:14:22 +00:00
|
|
|
import net.minecraft.world.World;
|
2016-08-18 13:45:25 +00:00
|
|
|
import net.minecraftforge.fml.client.registry.RenderingRegistry;
|
|
|
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
|
|
|
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
2016-09-15 14:24:35 +00:00
|
|
|
import net.minecraftforge.fml.relauncher.Side;
|
|
|
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
2015-04-23 16:14:22 +00:00
|
|
|
|
2015-10-22 02:06:25 +00:00
|
|
|
import java.net.URL;
|
|
|
|
import java.util.*;
|
|
|
|
|
2015-04-23 16:14:22 +00:00
|
|
|
// Referenced classes of package gregtech.common:
|
|
|
|
// GT_Proxy
|
|
|
|
|
2016-09-15 14:24:35 +00:00
|
|
|
@SideOnly(Side.CLIENT)
|
2015-04-23 16:14:22 +00:00
|
|
|
public class GT_Client extends GT_Proxy
|
2015-10-22 02:06:25 +00:00
|
|
|
implements Runnable {
|
2015-04-23 16:14:22 +00:00
|
|
|
|
2016-09-15 14:24:35 +00:00
|
|
|
private final HashSet<String> mCapeList = new HashSet<>();
|
2015-10-22 02:06:25 +00:00
|
|
|
private final GT_CapeRenderer mCapeRenderer;
|
2016-08-18 13:45:25 +00:00
|
|
|
private final List<Materials> mPosR;
|
|
|
|
private final List<Materials> mPosG;
|
|
|
|
private final List<Materials> mPosB;
|
|
|
|
private final List<Materials> mPosA = new ArrayList<>();
|
|
|
|
private final List<Materials> mNegR;
|
|
|
|
private final List<Materials> mNegG;
|
|
|
|
private final List<Materials> mNegB;
|
|
|
|
private final List<Materials> mNegA = new ArrayList<>();
|
|
|
|
private final List<Materials> mMoltenPosR;
|
|
|
|
private final List<Materials> mMoltenPosG;
|
|
|
|
private final List<Materials> mMoltenPosB;
|
|
|
|
private final List<Materials> mMoltenPosA = new ArrayList<>();
|
|
|
|
private final List<Materials> mMoltenNegR;
|
|
|
|
private final List<Materials> mMoltenNegG;
|
|
|
|
private final List<Materials> mMoltenNegB;
|
|
|
|
private final List<Materials> mMoltenNegA = new ArrayList<>();
|
2015-10-22 02:06:25 +00:00
|
|
|
private long mAnimationTick;
|
|
|
|
private boolean mAnimationDirection;
|
|
|
|
private boolean isFirstClientPlayerTick;
|
|
|
|
private String mMessage;
|
2016-08-18 13:45:25 +00:00
|
|
|
|
2015-10-22 02:06:25 +00:00
|
|
|
public GT_Client() {
|
2015-04-23 16:14:22 +00:00
|
|
|
mCapeRenderer = new GT_CapeRenderer(mCapeList);
|
|
|
|
mAnimationTick = 0L;
|
|
|
|
mAnimationDirection = false;
|
|
|
|
isFirstClientPlayerTick = true;
|
|
|
|
mMessage = "";
|
2016-08-18 13:45:25 +00:00
|
|
|
mPosR = Arrays.asList( /**Materials.ChargedCertusQuartz, **/Materials.Enderium, Materials.Vinteum, Materials.Uranium235, Materials.InfusedGold, Materials.Plutonium241, Materials.NaquadahEnriched, Materials.Naquadria, Materials.InfusedOrder, Materials.Force,
|
|
|
|
Materials.Pyrotheum, Materials.Sunnarium, Materials.Glowstone, Materials.Thaumium, Materials.InfusedVis, Materials.InfusedAir, Materials.InfusedFire, Materials.FierySteel, Materials.Firestone);
|
|
|
|
|
|
|
|
mPosG = Arrays.asList( /**Materials.ChargedCertusQuartz, **/Materials.Enderium, Materials.Vinteum, Materials.Uranium235, Materials.InfusedGold, Materials.Plutonium241, Materials.NaquadahEnriched, Materials.Naquadria, Materials.InfusedOrder, Materials.Force,
|
|
|
|
Materials.Pyrotheum, Materials.Sunnarium, Materials.Glowstone, Materials.InfusedAir, Materials.InfusedEarth);
|
|
|
|
|
|
|
|
mPosB = Arrays.asList( /**Materials.ChargedCertusQuartz, **/Materials.Enderium, Materials.Vinteum, Materials.Uranium235, Materials.InfusedGold, Materials.Plutonium241, Materials.NaquadahEnriched, Materials.Naquadria, Materials.InfusedOrder, Materials.InfusedVis,
|
|
|
|
Materials.InfusedWater, Materials.Thaumium);
|
|
|
|
|
|
|
|
mNegR = Arrays.asList(Materials.InfusedEntropy, Materials.NetherStar);
|
|
|
|
|
|
|
|
mNegG = Arrays.asList(Materials.InfusedEntropy, Materials.NetherStar);
|
|
|
|
|
|
|
|
mNegB = Arrays.asList(Materials.InfusedEntropy, Materials.NetherStar);
|
|
|
|
|
|
|
|
mMoltenPosR = Arrays.asList(Materials.Enderium, Materials.NetherStar, Materials.Vinteum, Materials.Uranium235, Materials.InfusedGold, Materials.Plutonium241, Materials.NaquadahEnriched, Materials.Naquadria, Materials.InfusedOrder, Materials.Force,
|
|
|
|
Materials.Pyrotheum, Materials.Sunnarium, Materials.Glowstone, Materials.Thaumium, Materials.InfusedVis, Materials.InfusedAir, Materials.InfusedFire, Materials.FierySteel, Materials.Firestone);
|
|
|
|
|
|
|
|
mMoltenPosG = Arrays.asList(Materials.Enderium, Materials.NetherStar, Materials.Vinteum, Materials.Uranium235, Materials.InfusedGold, Materials.Plutonium241, Materials.NaquadahEnriched, Materials.Naquadria, Materials.InfusedOrder, Materials.Force,
|
|
|
|
Materials.Pyrotheum, Materials.Sunnarium, Materials.Glowstone, Materials.InfusedAir, Materials.InfusedEarth);
|
|
|
|
|
|
|
|
mMoltenPosB = Arrays.asList(Materials.Enderium, Materials.NetherStar, Materials.Vinteum, Materials.Uranium235, Materials.InfusedGold, Materials.Plutonium241, Materials.NaquadahEnriched, Materials.Naquadria, Materials.InfusedOrder, Materials.InfusedVis,
|
|
|
|
Materials.InfusedWater, Materials.Thaumium);
|
|
|
|
|
|
|
|
mMoltenNegR = Arrays.asList(Materials.InfusedEntropy);
|
|
|
|
mMoltenNegG = Arrays.asList(Materials.InfusedEntropy);
|
|
|
|
mMoltenNegB = Arrays.asList(Materials.InfusedEntropy);
|
|
|
|
|
2015-04-23 16:14:22 +00:00
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
/*private static void drawGrid(DrawBlockHighlightEvent aEvent) {
|
2015-10-22 02:06:25 +00:00
|
|
|
GL11.glPushMatrix();
|
|
|
|
GL11.glTranslated(-(aEvent.player.lastTickPosX + (aEvent.player.posX - aEvent.player.lastTickPosX) * (double) aEvent.partialTicks), -(aEvent.player.lastTickPosY + (aEvent.player.posY - aEvent.player.lastTickPosY) * (double) aEvent.partialTicks), -(aEvent.player.lastTickPosZ + (aEvent.player.posZ - aEvent.player.lastTickPosZ) * (double) aEvent.partialTicks));
|
|
|
|
GL11.glTranslated((float) aEvent.target.blockX + 0.5F, (float) aEvent.target.blockY + 0.5F, (float) aEvent.target.blockZ + 0.5F);
|
|
|
|
Rotation.sideRotations[aEvent.target.sideHit].glApply();
|
|
|
|
GL11.glTranslated(0.0D, -0.501D, 0.0D);
|
|
|
|
GL11.glLineWidth(2.0F);
|
|
|
|
GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.5F);
|
|
|
|
GL11.glBegin(1);
|
|
|
|
GL11.glVertex3d(0.5D, 0.0D, -0.25D);
|
|
|
|
GL11.glVertex3d(-0.5D, 0.0D, -0.25D);
|
|
|
|
GL11.glVertex3d(0.5D, 0.0D, 0.25D);
|
|
|
|
GL11.glVertex3d(-0.5D, 0.0D, 0.25D);
|
|
|
|
GL11.glVertex3d(0.25D, 0.0D, -0.5D);
|
|
|
|
GL11.glVertex3d(0.25D, 0.0D, 0.5D);
|
|
|
|
GL11.glVertex3d(-0.25D, 0.0D, -0.5D);
|
|
|
|
GL11.glVertex3d(-0.25D, 0.0D, 0.5D);
|
|
|
|
GL11.glEnd();
|
|
|
|
GL11.glPopMatrix();
|
2016-08-18 13:45:25 +00:00
|
|
|
}*/
|
2015-10-22 02:06:25 +00:00
|
|
|
|
|
|
|
public boolean isServerSide() {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean isClientSide() {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean isBukkitSide() {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
public EntityPlayer getThePlayer() {
|
|
|
|
return Minecraft.getMinecraft().thePlayer;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void onPreLoad() {
|
2015-04-23 16:14:22 +00:00
|
|
|
super.onPreLoad();
|
|
|
|
String arr$[] = {
|
2015-10-22 02:06:25 +00:00
|
|
|
"renadi", "hanakocz", "MysteryDump", "Flaver4", "x_Fame", "Peluche321", "Goshen_Ithilien", "manf", "Bimgo", "leagris",
|
|
|
|
"IAmMinecrafter02", "Cerous", "Devilin_Pixy", "Bkarlsson87", "BadAlchemy", "CaballoCraft", "melanclock", "Resursator", "demanzke", "AndrewAmmerlaan",
|
|
|
|
"Deathlycraft", "Jirajha", "Axlegear", "kei_kouma", "Dracion", "dungi", "Dorfschwein", "Zero Tw0", "mattiagraz85", "sebastiank30",
|
|
|
|
"Plem", "invultri", "grillo126", "malcanteth", "Malevolence_", "Nicholas_Manuel", "Sirbab", "kehaan", "bpgames123", "semig0d",
|
|
|
|
"9000bowser", "Sovereignty89", "Kris1432", "xander_cage_", "samuraijp", "bsaa", "SpwnX", "tworf", "Kadah", "kanni",
|
|
|
|
"Stute", "Hegik", "Onlyme", "t3hero", "Hotchi", "jagoly", "Nullav", "BH5432", "Sibmer", "inceee",
|
|
|
|
"foxxx0", "Hartok", "TMSama", "Shlnen", "Carsso", "zessirb", "meep310", "Seldron", "yttr1um", "hohounk",
|
|
|
|
"freebug", "Sylphio", "jmarler", "Saberawr", "r00teniy", "Neonbeta", "yinscape", "voooon24", "Quintine", "peach774",
|
|
|
|
"lepthymo", "bildeman", "Kremnari", "Aerosalo", "OndraSter", "oscares91", "mr10movie", "Daxx367x2", "EGERTRONx", "aka13_404",
|
|
|
|
"Abouttabs", "Johnstaal", "djshiny99", "megatronp", "DZCreeper", "Kane_Hart", "Truculent", "vidplace7", "simon6689", "MomoNasty",
|
|
|
|
"UnknownXLV", "goreacraft", "Fluttermine", "Daddy_Cecil", "MrMaleficus", "TigersFangs", "cublikefoot", "chainman564", "NikitaBuker", "Misha999777",
|
|
|
|
"25FiveDetail", "AntiCivilBoy", "michaelbrady", "xXxIceFirexXx", "Speedynutty68", "GarretSidzaka", "HallowCharm977", "mastermind1919", "The_Hypersonic", "diamondguy2798",
|
|
|
|
"zF4ll3nPr3d4t0r", "CrafterOfMines57", "XxELIT3xSNIP3RxX", "SuterusuKusanagi", "xavier0014", "adamros", "alexbegt"
|
2015-04-23 16:14:22 +00:00
|
|
|
};
|
2016-08-18 13:45:25 +00:00
|
|
|
for (String tName : arr$) {
|
2015-04-23 16:14:22 +00:00
|
|
|
mCapeList.add(tName.toLowerCase());
|
|
|
|
}
|
2016-08-18 13:45:25 +00:00
|
|
|
new Thread(this).start();
|
2015-04-23 16:14:22 +00:00
|
|
|
}
|
|
|
|
|
2015-10-22 02:06:25 +00:00
|
|
|
public void onLoad() {
|
|
|
|
super.onLoad();
|
2016-08-18 13:45:25 +00:00
|
|
|
|
|
|
|
RenderingRegistry.registerEntityRenderingHandler(GT_Entity_Arrow.class, manager -> {
|
|
|
|
return new GT_Renderer_Entity_Arrow(GT_Entity_Arrow.class, "arrow", manager);
|
|
|
|
});
|
|
|
|
|
|
|
|
RenderingRegistry.registerEntityRenderingHandler(GT_Entity_Arrow.class, manager -> {
|
|
|
|
return new GT_Renderer_Entity_Arrow(GT_Entity_Arrow_Potion.class, "arrow_potions", manager);
|
|
|
|
});
|
2015-10-22 02:06:25 +00:00
|
|
|
}
|
|
|
|
|
2016-09-06 09:53:19 +00:00
|
|
|
|
|
|
|
//Models init
|
2015-10-22 02:06:25 +00:00
|
|
|
public void onPostLoad() {
|
2015-04-23 16:14:22 +00:00
|
|
|
super.onPostLoad();
|
2016-09-06 09:53:19 +00:00
|
|
|
|
|
|
|
Textures.BlockIcons.BASALT_BRICKS.getClass();
|
|
|
|
Textures.ItemIcons.BUTCHERYKNIFE.getClass();
|
|
|
|
TextureSet.SET_DIAMOND.getClass();
|
|
|
|
|
2016-10-02 04:15:33 +00:00
|
|
|
new GT_RenderDispatcher();
|
2016-09-06 09:53:19 +00:00
|
|
|
}
|
2015-04-23 16:14:22 +00:00
|
|
|
|
2015-10-22 02:06:25 +00:00
|
|
|
public void run() {
|
2016-09-15 14:24:35 +00:00
|
|
|
downloadStuff();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void downloadStuff() {
|
2015-10-22 02:06:25 +00:00
|
|
|
try {
|
|
|
|
GT_Log.out.println("GT_Mod: Downloading Cape List.");
|
2016-07-10 18:28:35 +00:00
|
|
|
Scanner tScanner = new Scanner(new URL("http://gregtech.overminddl1.com/com/gregoriust/gregtech/supporterlist.txt").openStream());
|
2015-10-22 02:06:25 +00:00
|
|
|
while (tScanner.hasNextLine()) {
|
|
|
|
String tName = tScanner.nextLine();
|
|
|
|
if (!this.mCapeList.contains(tName.toLowerCase())) {
|
|
|
|
this.mCapeList.add(tName.toLowerCase());
|
|
|
|
}
|
|
|
|
}
|
2016-09-15 14:24:35 +00:00
|
|
|
} catch (Throwable e) {}
|
2015-10-22 02:06:25 +00:00
|
|
|
try {
|
|
|
|
GT_Log.out.println("GT_Mod: Downloading News.");
|
|
|
|
Scanner tScanner = new Scanner(new URL("http://files.minecraftforge.net/maven/com/gregoriust/gregtech/message.txt").openStream());
|
|
|
|
while (tScanner.hasNextLine()) {
|
|
|
|
this.mMessage = (this.mMessage + tScanner.nextLine() + " ");
|
|
|
|
}
|
2016-09-15 14:24:35 +00:00
|
|
|
} catch (Throwable e) {}
|
2015-04-23 16:14:22 +00:00
|
|
|
}
|
2015-10-22 02:06:25 +00:00
|
|
|
|
|
|
|
@SubscribeEvent
|
|
|
|
public void onPlayerTickEventClient(TickEvent.PlayerTickEvent aEvent) {
|
|
|
|
if ((!aEvent.player.isDead) && (aEvent.phase == TickEvent.Phase.END) && (aEvent.side.isClient())) {
|
|
|
|
if ((this.isFirstClientPlayerTick) && (aEvent.player == GT_Values.GT.getThePlayer())) {
|
|
|
|
this.isFirstClientPlayerTick = false;
|
|
|
|
if ((this.mMessage.length() > 5) && (GregTech_API.sSpecialFile.get(ConfigCategories.news, this.mMessage, true))) {
|
2016-08-18 13:45:25 +00:00
|
|
|
aEvent.player.addChatComponentMessage(new TextComponentString(this.mMessage));
|
2015-10-22 02:06:25 +00:00
|
|
|
}
|
|
|
|
}
|
2015-04-23 16:14:22 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-09-15 14:24:35 +00:00
|
|
|
/*@SubscribeEvent
|
2015-10-22 02:06:25 +00:00
|
|
|
public void onDrawBlockHighlight(DrawBlockHighlightEvent aEvent) {
|
2016-09-15 14:24:35 +00:00
|
|
|
if (GT_Utility.isStackValid(aEvent.currentItem)) {
|
2015-10-22 02:06:25 +00:00
|
|
|
Block aBlock = aEvent.player.worldObj.getBlock(aEvent.target.blockX, aEvent.target.blockY, aEvent.target.blockZ);
|
|
|
|
TileEntity aTileEntity = aEvent.player.worldObj.getTileEntity(aEvent.target.blockX, aEvent.target.blockY, aEvent.target.blockZ);
|
|
|
|
try {
|
|
|
|
Class.forName("codechicken.lib.vec.Rotation");
|
|
|
|
if (((aTileEntity instanceof BaseMetaPipeEntity)) && (((ICoverable) aTileEntity).getCoverIDAtSide((byte) aEvent.target.sideHit) == 0) && ((GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sCovers.keySet())) || (GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sCrowbarList)) || (GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sScrewdriverList)))) {
|
|
|
|
drawGrid(aEvent);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if ((((aTileEntity instanceof ITurnable)) || (ROTATABLE_VANILLA_BLOCKS.contains(aBlock)) || ((aTileEntity instanceof IWrenchable))) && (GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sWrenchList))) {
|
|
|
|
drawGrid(aEvent);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
} catch (Throwable e) {
|
|
|
|
if (GT_Values.D1) {
|
|
|
|
e.printStackTrace(GT_Log.err);
|
|
|
|
}
|
|
|
|
}
|
2016-09-15 14:24:35 +00:00
|
|
|
}
|
|
|
|
}*/
|
2015-04-23 16:14:22 +00:00
|
|
|
|
|
|
|
@SubscribeEvent
|
2015-10-22 02:06:25 +00:00
|
|
|
public void receiveRenderEvent(net.minecraftforge.client.event.RenderPlayerEvent.Pre aEvent) {
|
2016-08-18 13:45:25 +00:00
|
|
|
if (GT_Utility.getFullInvisibility(aEvent.getEntityPlayer())) {
|
2015-04-23 16:14:22 +00:00
|
|
|
aEvent.setCanceled(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@SubscribeEvent
|
2015-10-22 02:06:25 +00:00
|
|
|
public void receiveRenderSpecialsEvent(net.minecraftforge.client.event.RenderPlayerEvent.Specials.Pre aEvent) {
|
2015-04-23 16:14:22 +00:00
|
|
|
mCapeRenderer.receiveRenderSpecialsEvent(aEvent);
|
|
|
|
}
|
|
|
|
|
|
|
|
@SubscribeEvent
|
2016-08-07 08:41:30 +00:00
|
|
|
public void onClientTickEvent(net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent aEvent) {
|
|
|
|
if (aEvent.phase == net.minecraftforge.fml.common.gameevent.TickEvent.Phase.END) {
|
2015-04-23 16:14:22 +00:00
|
|
|
mAnimationTick++;
|
2015-10-22 02:06:25 +00:00
|
|
|
if (mAnimationTick % 50L == 0L)
|
2015-04-23 16:14:22 +00:00
|
|
|
mAnimationDirection = !mAnimationDirection;
|
|
|
|
int tDirection = mAnimationDirection ? 1 : -1;
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mPosR) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mRGBa[0] += tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mPosG) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mRGBa[1] += tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mPosB) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mRGBa[2] += tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mPosA) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mRGBa[3] += tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mNegR) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mRGBa[0] -= tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mNegG) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mRGBa[1] -= tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mNegB) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mRGBa[2] -= tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mNegA) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mRGBa[3] -= tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mMoltenPosR) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mMoltenRGBa[0] += tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mMoltenPosG) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mMoltenRGBa[1] += tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mMoltenPosB) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mMoltenRGBa[2] += tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mMoltenPosA) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mMoltenRGBa[3] += tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mMoltenNegR) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mMoltenRGBa[0] -= tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mMoltenNegG) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mMoltenRGBa[1] -= tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mMoltenNegB) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mMoltenRGBa[2] -= tDirection;
|
|
|
|
}
|
|
|
|
|
2016-08-18 13:45:25 +00:00
|
|
|
for (Materials tMaterial : mMoltenNegA) {
|
2015-04-23 16:14:22 +00:00
|
|
|
tMaterial.mMoltenRGBa[3] -= tDirection;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-10-22 02:06:25 +00:00
|
|
|
public void doSonictronSound(ItemStack aStack, World aWorld, double aX, double aY, double aZ) {
|
|
|
|
if (GT_Utility.isStackInvalid(aStack))
|
2015-04-23 16:14:22 +00:00
|
|
|
return;
|
|
|
|
String tString = "note.harp";
|
|
|
|
int i = 0;
|
|
|
|
int j = mSoundItems.size();
|
2015-10-22 02:06:25 +00:00
|
|
|
do {
|
|
|
|
if (i >= j)
|
2015-04-23 16:14:22 +00:00
|
|
|
break;
|
2016-08-18 13:45:25 +00:00
|
|
|
if (GT_Utility.areStacksEqual(mSoundItems.get(i), aStack)) {
|
|
|
|
tString = mSoundNames.get(i);
|
2015-04-23 16:14:22 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
i++;
|
2015-10-22 02:06:25 +00:00
|
|
|
} while (true);
|
|
|
|
if (tString.startsWith("random.explode"))
|
|
|
|
if (aStack.stackSize == 3)
|
2015-04-23 16:14:22 +00:00
|
|
|
tString = "random.fuse";
|
2015-10-22 02:06:25 +00:00
|
|
|
else if (aStack.stackSize == 2)
|
2015-04-23 16:14:22 +00:00
|
|
|
tString = "random.old_explode";
|
2015-10-22 02:06:25 +00:00
|
|
|
if (tString.startsWith("streaming."))
|
|
|
|
switch (aStack.stackSize) {
|
|
|
|
case 1: // '\001'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("13").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2: // '\002'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("cat").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3: // '\003'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("blocks").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4: // '\004'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("chirp").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 5: // '\005'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("far").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 6: // '\006'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("mall").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 7: // '\007'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("mellohi").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 8: // '\b'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("stal").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 9: // '\t'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("strad").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 10: // '\n'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("ward").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 11: // '\013'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("11").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 12: // '\f'
|
|
|
|
tString = (new StringBuilder()).append(tString).append("wait").toString();
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
tString = (new StringBuilder()).append(tString).append("wherearewenow").toString();
|
|
|
|
break;
|
2015-04-23 16:14:22 +00:00
|
|
|
}
|
2016-08-18 13:45:25 +00:00
|
|
|
//FIXME
|
|
|
|
//if (tString.startsWith("streaming."))
|
|
|
|
//aWorld.playRecord(tString.substring(10, tString.length()), (int) aX, (int) aY, (int) aZ);
|
|
|
|
//else
|
|
|
|
//aWorld.playSound(aX, aY, aZ, tString, 3F, tString.startsWith("note.") ? (float) Math.pow(2D, (double) (aStack.stackSize - 13) / 12D) : 1.0F, false);
|
2015-04-23 16:14:22 +00:00
|
|
|
}
|
|
|
|
}
|