Arcturus-Community/src/main/java/com/eu/habbo/habbohotel/pets/HorsePet.java
2020-05-04 22:24:09 +02:00

70 lines
2.2 KiB
Java

package com.eu.habbo.habbohotel.pets;
import com.eu.habbo.Emulator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class HorsePet extends RideablePet {
private static final Logger LOGGER = LoggerFactory.getLogger(HorsePet.class);
private int hairColor;
private int hairStyle;
public HorsePet(ResultSet set) throws SQLException {
super(set);
this.hairColor = set.getInt("hair_color");
this.hairStyle = set.getInt("hair_style");
this.hasSaddle(set.getString("saddle").equalsIgnoreCase("1"));
this.setAnyoneCanRide(set.getString("ride").equalsIgnoreCase("1"));
this.setSaddleItemId(set.getInt("saddle_item_id"));
}
public HorsePet(int type, int race, String color, String name, int userId) {
super(type, race, color, name, userId);
this.hairColor = 0;
this.hairStyle = -1;
this.hasSaddle(false);
this.setAnyoneCanRide(false);
}
@Override
public void run() {
if (this.needsUpdate) {
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("UPDATE users_pets SET hair_style = ?, hair_color = ?, saddle = ?, ride = ?, saddle_item_id = ? WHERE id = ?")) {
statement.setInt(1, this.hairStyle);
statement.setInt(2, this.hairColor);
statement.setString(3, this.hasSaddle() ? "1" : "0");
statement.setString(4, this.anyoneCanRide() ? "1" : "0");
statement.setInt(5, this.getSaddleItemId());
statement.setInt(6, super.getId());
statement.execute();
} catch (SQLException e) {
LOGGER.error("Caught SQL exception", e);
}
super.run();
}
}
public int getHairColor() {
return this.hairColor;
}
public void setHairColor(int hairColor) {
this.hairColor = hairColor;
}
public int getHairStyle() {
return this.hairStyle;
}
public void setHairStyle(int hairStyle) {
this.hairStyle = hairStyle;
}
}