Skip to content

Commit 70bd136

Browse files
committed
v1.2.3
1 parent 5826403 commit 70bd136

34 files changed

Lines changed: 605 additions & 10 deletions

src/main/java/fr/yuki/yrpf/character/CharacterJobLevel.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,11 @@ public JobLevel getJobLevel() {
3737
}
3838
return level;
3939
}
40+
41+
public boolean hasNextLevel() {
42+
ArrayList<JobLevel> levels = new ArrayList<>(JobManager.getJobLevels().stream()
43+
.filter(x -> x.getJobId().equals(this.getJobId())).collect(Collectors.toList()));
44+
JobLevel jobLevel = this.getJobLevel();
45+
return levels.stream().filter(x -> x.getLevel() == jobLevel.getLevel() + 1).findFirst().orElse(null) != null;
46+
}
4047
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package fr.yuki.yrpf.luaapi;
2+
3+
import fr.yuki.yrpf.manager.ModdingManager;
4+
import fr.yuki.yrpf.net.payload.AddImageResourcePayload;
5+
import net.onfirenetwork.onsetjava.plugin.ExportFunction;
6+
7+
public class AddImageResourceEF implements ExportFunction {
8+
@Override
9+
public Object call(Object[] objects) {
10+
ModdingManager.getImageResourcePayloads().add(new AddImageResourcePayload(
11+
objects[0].toString(),
12+
objects[1].toString(),
13+
"../../../../" +objects[2].toString()
14+
));
15+
return true;
16+
}
17+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package fr.yuki.yrpf.luaapi;
2+
3+
import fr.yuki.yrpf.manager.WorldManager;
4+
import fr.yuki.yrpf.modding.WorldParticle;
5+
import net.onfirenetwork.onsetjava.data.Vector;
6+
import net.onfirenetwork.onsetjava.plugin.ExportFunction;
7+
8+
public class AddParticleEF implements ExportFunction {
9+
@Override
10+
public Object call(Object[] objects) {
11+
Vector position = new Vector(Double.parseDouble(objects[0].toString()), Double.parseDouble(objects[1].toString()),
12+
Double.parseDouble(objects[2].toString()));
13+
Vector scale = new Vector(Double.parseDouble(objects[3].toString()), Double.parseDouble(objects[4].toString()),
14+
Double.parseDouble(objects[5].toString()));
15+
WorldParticle particle = new WorldParticle(objects[7].toString(),
16+
position,
17+
scale, Double.parseDouble(objects[6].toString()));
18+
particle.start();
19+
WorldManager.getWorldParticleHashMap().put(particle.getId(), particle);
20+
return particle.getId();
21+
}
22+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package fr.yuki.yrpf.luaapi;
2+
3+
import fr.yuki.yrpf.manager.WorldManager;
4+
import fr.yuki.yrpf.modding.WorldParticle;
5+
import net.onfirenetwork.onsetjava.plugin.ExportFunction;
6+
7+
public class DestroyParticleEF implements ExportFunction {
8+
@Override
9+
public Object call(Object[] objects) {
10+
WorldParticle particle = WorldManager.getWorldParticleHashMap().get(Integer.parseInt(objects[0].toString()));
11+
particle.stop();
12+
WorldManager.getWorldParticleHashMap().remove(particle.getId());
13+
return true;
14+
}
15+
}

src/main/java/fr/yuki/yrpf/luaapi/LuaAPIManager.java

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package fr.yuki.yrpf.luaapi;
22

3-
import fr.yuki.yrpf.luaapi.genericmenu.AddGenericMenuItemEF;
4-
import fr.yuki.yrpf.luaapi.genericmenu.CreateGenericMenuEF;
5-
import fr.yuki.yrpf.luaapi.genericmenu.ShowGenericMenuEF;
3+
import fr.yuki.yrpf.luaapi.genericmenu.*;
64
import fr.yuki.yrpf.luaapi.house.SetHouseObjectBehaviorEF;
5+
import fr.yuki.yrpf.luaapi.inventory.*;
76
import fr.yuki.yrpf.luaapi.items.CreateItemTemplateEF;
87
import fr.yuki.yrpf.luaapi.items.GetItemQuantityEF;
98
import fr.yuki.yrpf.luaapi.items.RemoveItemEF;
@@ -12,6 +11,9 @@
1211
import fr.yuki.yrpf.luaapi.map.RemoveMapMarkerEF;
1312
import fr.yuki.yrpf.luaapi.player.AddBankMoneyEF;
1413
import fr.yuki.yrpf.luaapi.vehicle.*;
14+
import fr.yuki.yrpf.luaapi.worldui.CreateWorldUIEF;
15+
import fr.yuki.yrpf.luaapi.worldui.DestroyWUIEF;
16+
import fr.yuki.yrpf.luaapi.worldui.SetProgressWUIEF;
1517
import net.onfirenetwork.onsetjava.Onset;
1618

1719
public class LuaAPIManager {
@@ -23,6 +25,9 @@ public static void init() {
2325
Onset.getServer().addFunctionExport("AddRestrictedZone", new AddRestrictedZoneEF());
2426
Onset.getServer().addFunctionExport("AddI18nKey", new AddI18nKeyEF());
2527
Onset.getServer().addFunctionExport("GetI18nForPlayer", new GetI18NKeyForPlayerEF());
28+
Onset.getServer().addFunctionExport("AddImageResource", new AddImageResourceEF());
29+
Onset.getServer().addFunctionExport("CreateParticle", new AddParticleEF());
30+
Onset.getServer().addFunctionExport("DestroyParticle", new DestroyParticleEF());
2631

2732
// Job API
2833
Onset.getServer().addFunctionExport("CreateJob", new CreateJobEF());
@@ -32,7 +37,10 @@ public static void init() {
3237
Onset.getServer().addFunctionExport("SetHarvestAnimation", new SetHarvestAnimationEF());
3338
Onset.getServer().addFunctionExport("IsJobWhitelisted", new IsJobWhitelistedEF());
3439
Onset.getServer().addFunctionExport("SpawnWearableObject", new SpawnWearableObjectEF());
40+
Onset.getServer().addFunctionExport("SetWearableObjectLocation", new SetWearableObjectLocationEF());
3541
Onset.getServer().addFunctionExport("AddJobExp", new AddJobExpEF());
42+
Onset.getServer().addFunctionExport("GetWearedObject", new GetWearedObjectEF());
43+
Onset.getServer().addFunctionExport("GetPlayerJobLevel", new GetJobLevelEF());
3644

3745
// Item API
3846
Onset.getServer().addFunctionExport("CreateItemTemplate", new CreateItemTemplateEF());
@@ -44,6 +52,8 @@ public static void init() {
4452
Onset.getServer().addFunctionExport("CreateMenu", new CreateGenericMenuEF());
4553
Onset.getServer().addFunctionExport("AddMenuItem", new AddGenericMenuItemEF());
4654
Onset.getServer().addFunctionExport("ShowMenu", new ShowGenericMenuEF());
55+
Onset.getServer().addFunctionExport("CloseMenu", new CloseGenericMenuEF());
56+
Onset.getServer().addFunctionExport("SetMenuImage", new SetMenuImageEF());
4757

4858
// Map API
4959
Onset.getServer().addFunctionExport("AddMapMarker", new AddMapMarkerEF());
@@ -62,5 +72,18 @@ public static void init() {
6272

6373
// Player
6474
Onset.getServer().addFunctionExport("AddBankMoney", new AddBankMoneyEF());
75+
76+
// Inv
77+
Onset.getServer().addFunctionExport("CreateChest", new CreateChestEF());
78+
Onset.getServer().addFunctionExport("OpenChest", new OpenChestEF());
79+
Onset.getServer().addFunctionExport("GetChestItems", new GetChestItemsEF());
80+
Onset.getServer().addFunctionExport("AddChestItem", new AddChestItemEF());
81+
Onset.getServer().addFunctionExport("RemoveChestItem", new RemoveChestItemEF());
82+
Onset.getServer().addFunctionExport("GetPlayerMainInventoryId", new GetPlayerMainInventoryIdEF());
83+
84+
// WorldUI
85+
Onset.getServer().addFunctionExport("CreateWUI", new CreateWorldUIEF());
86+
Onset.getServer().addFunctionExport("DestroyWUI", new DestroyWUIEF());
87+
Onset.getServer().addFunctionExport("SetProgressWUI", new SetProgressWUIEF());
6588
}
6689
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package fr.yuki.yrpf.luaapi.genericmenu;
2+
3+
import fr.yuki.yrpf.manager.CharacterManager;
4+
import fr.yuki.yrpf.ui.GenericMenu;
5+
import net.onfirenetwork.onsetjava.Onset;
6+
import net.onfirenetwork.onsetjava.entity.Player;
7+
import net.onfirenetwork.onsetjava.plugin.ExportFunction;
8+
9+
public class CloseGenericMenuEF implements ExportFunction {
10+
@Override
11+
public Object call(Object[] objects) {
12+
Player player = Onset.getPlayer(Integer.parseInt(objects[0].toString()));
13+
if( CharacterManager.getCharacterStateByPlayer(player).getCurrentGenericMenu() == null) return false;
14+
CharacterManager.getCharacterStateByPlayer(player).getCurrentGenericMenu().hide();
15+
return true;
16+
}
17+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package fr.yuki.yrpf.luaapi.genericmenu;
2+
3+
import fr.yuki.yrpf.manager.CharacterManager;
4+
import fr.yuki.yrpf.ui.GenericMenu;
5+
import net.onfirenetwork.onsetjava.plugin.ExportFunction;
6+
7+
public class SetMenuImageEF implements ExportFunction {
8+
@Override
9+
public Object call(Object[] objects) {
10+
GenericMenu genericMenu = CreateGenericMenuEF.getGenericMenuHashMap().get(Integer.parseInt(objects[0].toString()));
11+
genericMenu.setImageUrl("../../../../" + objects[1].toString());
12+
return true;
13+
}
14+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package fr.yuki.yrpf.luaapi.inventory;
2+
3+
import fr.yuki.yrpf.inventory.Inventory;
4+
import fr.yuki.yrpf.inventory.InventoryItem;
5+
import fr.yuki.yrpf.manager.InventoryManager;
6+
import net.onfirenetwork.onsetjava.plugin.ExportFunction;
7+
8+
import java.util.HashMap;
9+
import java.util.UUID;
10+
11+
public class AddChestItemEF implements ExportFunction {
12+
@Override
13+
public Object call(Object[] objects) {
14+
Inventory inventory = InventoryManager.getInventoryById(Integer.parseInt(objects[0].toString()));
15+
if(inventory == null) return false;
16+
InventoryItem inventoryItem = new InventoryItem();
17+
inventoryItem.setId(UUID.randomUUID().toString());
18+
inventoryItem.setTemplateId(objects[1].toString());
19+
inventoryItem.setAmount(Integer.parseInt(objects[2].toString()));
20+
inventoryItem.setExtraProperties(new HashMap<>());
21+
inventory.addItem(inventoryItem);
22+
return true;
23+
}
24+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package fr.yuki.yrpf.luaapi.inventory;
2+
3+
import fr.yuki.yrpf.inventory.Inventory;
4+
import fr.yuki.yrpf.manager.InventoryManager;
5+
import net.onfirenetwork.onsetjava.Onset;
6+
import net.onfirenetwork.onsetjava.plugin.ExportFunction;
7+
8+
public class CreateChestEF implements ExportFunction {
9+
10+
@Override
11+
public Object call(Object[] objects) {
12+
Inventory inventory = new Inventory();
13+
inventory.setInventoryType(1);
14+
inventory.setInventoryType(0);
15+
inventory.setCharacterId(-1);
16+
inventory.setVehicleId(-1);
17+
inventory.setHouseItemId(-1);
18+
inventory.save();
19+
InventoryManager.getInventories().put(inventory.getId(), inventory);
20+
inventory.setMaxWeight(Integer.parseInt(objects[0].toString()));
21+
inventory.parseContent();
22+
Onset.print("Create new chest from lua id="+inventory.getId());
23+
return inventory.getId();
24+
}
25+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package fr.yuki.yrpf.luaapi.inventory;
2+
3+
import com.google.gson.Gson;
4+
import fr.yuki.yrpf.inventory.Inventory;
5+
import fr.yuki.yrpf.manager.InventoryManager;
6+
import net.onfirenetwork.onsetjava.Onset;
7+
import net.onfirenetwork.onsetjava.entity.Player;
8+
import net.onfirenetwork.onsetjava.plugin.ExportFunction;
9+
10+
public class GetChestItemsEF implements ExportFunction {
11+
@Override
12+
public Object call(Object[] objects) {
13+
Inventory inventory = InventoryManager.getInventoryById(Integer.parseInt(objects[0].toString()));
14+
if(inventory == null) return false;
15+
return new Gson().toJson(inventory.getInventoryItems());
16+
}
17+
}

0 commit comments

Comments
 (0)